home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Standards 1994 January / InfoMagic Standards - January 1994.iso / ccitt / 1988 / troff / 6_9_03.tro < prev    next >
Text File  |  1991-12-13  |  86KB  |  3,668 lines

  1. .rs
  2. .\" Troff code generated by TPS Convert from ITU Original Files
  3. .\"                 Not Copyright ( c) 1991 
  4. .\"
  5. .\" Assumes tbl, eqn, MS macros, and lots of luck.
  6. .TA 1c 2c 3c 4c 5c 6c 7c 8c
  7. .ds CH
  8. .ds CF
  9. .EQ
  10. delim @@
  11. .EN
  12. .nr LL 40.5P
  13. .nr ll 40.5P
  14. .nr HM 3P
  15. .nr FM 6P
  16. .nr PO 4P
  17. .nr PD 9p
  18. .po 4P
  19.  
  20. .rs
  21. \v | 5i'
  22. .sp 2P
  23. .LP
  24. \fBRecommendation\ Q.775\fR 
  25. .RT
  26. .sp 2P
  27. .sp 1P
  28. .ce 1000
  29. \fBGUIDELINES\ FOR\ USING\ TRANSACTION\ CAPABILITIES\fR 
  30. .EF '%    Fascicle\ VI.9\ \(em\ Rec.\ Q.775''
  31. .OF '''Fascicle\ VI.9\ \(em\ Rec.\ Q.775    %'
  32. .ce 0
  33. .sp 1P
  34. .ce 1000
  35. \fR \fI(Melbourne, 1988)\fR 
  36. .sp 9p
  37. .RT
  38. .ce 0
  39. .sp 1P
  40. .LP
  41. \fB1\fR     \fBIntroduction\fR 
  42. .sp 1P
  43. .RT
  44. .sp 1P
  45. .LP
  46. 1.1
  47.     \fIGeneral\fR 
  48. .sp 9p
  49. .RT
  50. .PP
  51. The purpose of this Recommendation is to provide guidelines to
  52. potential users of Transaction Capabilities (TC\(hyusers). The examples 
  53. given are illustrations only; they indicate how an application may use 
  54. TCAP, not how TCAP must be used in all cases. The technical basis of this 
  55. document are 
  56. Recommendations\ Q.771 to\ Q.774; in case of misalignment, these should be
  57. considered as the primary reference.
  58. .PP
  59. The main purpose of TCAP is to provide support for interactive
  60. applications in a distributed environment. TCAP is based on
  61. Recommendations\ X.219 and\ X.229 (ROSE) enhanced as necessary to provide the
  62. services needed by TC\(hyusers. Interactions between distributed application
  63. entities are modelled by Operations. An operation is invoked by an
  64. (originating) entity: the other (destination) entity attempts to execute the
  65. operation and possibly returns the outcome of this attempt.
  66. .PP
  67. The semantics of an operation (represented by its name and parameters) 
  68. is not relevant to TCAP; TCAP provides facilities which are independent 
  69. of any particular operation. The TC\(hyuser, when defining an application, 
  70. must:
  71. .RT
  72. .LP
  73.     1)
  74.     select operations;
  75. .LP
  76.     2)
  77.     select TCAP facilities to support these operations. Such
  78. facilities include the handling of individual operations, and
  79. the ability to have a number of related operations attached to
  80. an association between TC\(hyusers, called a dialogue;
  81. .LP
  82.     3)
  83.     define the application script.
  84. .PP
  85. This Recommendation describes the selection process of defining
  86. and using operations. The operations appearing hereafter are fictitious, and
  87. are taken for illustration purposes only. Also described are the facilities
  88. offered by TCAP for handling one or a sequence of operations in a dialogue. 
  89. The definition of specific sequences of operations belongs to the application 
  90. protocol definition and is beyond the scope of this Recommendation; however,
  91. Chapter\ 4 gives a brief indication of what information an application
  92. specification should contain.
  93. .PP
  94. TCAP services are made accessible to TC\(hyusers via primitives; these
  95. primitives model the interface between TCAP and its users, but do not constrain 
  96. any implementation of this interface. 
  97. .RT
  98. .sp 1P
  99. .LP
  100. 1.2
  101.     \fIEnvironment\fR 
  102. .sp 9p
  103. .RT
  104. .PP
  105. TCAP defines the end\(hyto\(hyend protocol between TC\(hyusers which may 
  106. be located in a Signalling System No.\ 7 network, and/or another network 
  107. supporting TCAP protocols. 
  108. .PP
  109. Two broad categories of users have been considered (see
  110. Recommendation\ Q.771, \(sc\ 1.3.2). Only the first category is considered 
  111. here, 
  112. i.e.\ those which are real\(hytime sensitive users, and do not need to exchange
  113. large amounts of data. It is considered that for these users, protocols 
  114. defined for OSI layers\ 4 to\ 6 in the X\ series of Recommendations would 
  115. result in 
  116. excessive overheads and hence are not used. A basic service has been specified, 
  117. using a connectionless network service approach. Other categories of users 
  118. might require connection\(hyoriented network and higher layer services.
  119. .PP
  120. As a result, TCAP cannot support all kinds of applications, and a
  121. number of applications will still require more elaborate services such as
  122. specified in the X\ series of Recommendations. Besides indicating what 
  123. TCAP can do, this Recommendation indicates what the connectionless approach 
  124. cannot do, in order to help the application designer choose how to support 
  125. an 
  126. application.
  127. .RT
  128. .sp 2P
  129. .LP
  130. \fB2\fR     \fBOperations\fR 
  131. .sp 1P
  132. .RT
  133. .sp 1P
  134. .LP
  135. 2.1
  136.     \fIDefinition\fR 
  137. .sp 9p
  138. .RT
  139. .PP
  140. An operation is invoked by an originating TC\(hyuser to request a
  141. destination TC\(hyuser to perform a given action.
  142. .PP
  143. A class is attached to an operation. This indicates whether either a successful 
  144. outcome (result), or an unsuccessful outcome (error), or both, or 
  145. none have to be reported by the destination. The outcome is reported in a
  146. result.
  147. .bp
  148. .PP
  149. As well as the class, the definition of the operation includes a timer 
  150. value indicating when the operation should be completed. This value is 
  151. not 
  152. indicated to the remote TC\(hyuser; it is assumed that the application at both
  153. ends has a common understanding of the operations in use.
  154. .PP
  155. An \fBoperation\fR is defined by:
  156. .RT
  157. .LP
  158.     \(em
  159.      its operation code and the type of any parameters associated with the 
  160. operation request; 
  161. .LP
  162.     \(em
  163.     its class;
  164. .LP
  165.     \(em
  166.      if the class requires report of success, the possible results corresponding 
  167. to successful executions are defined by a list of parameters; 
  168. .LP
  169.     \(em
  170.      if the class requires report of failure, the possible results corresponding 
  171. to situations where the operation could not be executed 
  172. completely by the remote TC\(hyuser. Each such situation is identified by a
  173. specific error cause; the list of these error causes is part of the operation 
  174. definition. Diagnostic information can be added to the error cause: if 
  175. present, it is part of the definition; 
  176. .LP
  177.     \(em
  178.      the list of possible linked operations, if replies consisting of linked 
  179. operations are allowed for this operation. Linked operations have to be 
  180. described separately; 
  181. .LP
  182.     \(em
  183.      a timer value indicating the interval by which the operation has to be 
  184. completed. This timer value is used to manage the component ID 
  185. associated with the operation invocation.
  186. .sp 2P
  187. .LP
  188. 2.2
  189.     \fIExamples\fR 
  190. .sp 1P
  191. .RT
  192. .sp 1P
  193. .LP
  194. 2.2.1
  195.     \fISimple operations\fR 
  196. .sp 9p
  197. .RT
  198. .PP
  199. \fINote\fR \ \(em\ The operation invocation should fit into one message, 
  200. and so should a report of unsuccessful outcome. Reports of success may 
  201. be segmented using Return Result\(hyNot last and Return Result\(hyLast. 
  202. .RT
  203. .sp 1P
  204. .LP
  205.     \fIClass 1 (both success and failure reported):\fR 
  206. .sp 9p
  207. .RT
  208. .PP
  209. Translate a freephone number into a called subscriber number;
  210. return the called number if the translation can be performed, otherwise
  211. indicate why it cannot; time allocated: 2\ seconds.
  212. .PP
  213. No reply being received when the timer expires indicates an abnormal situation 
  214. (e.g.\ the operation invocation may have been lost): the local TC\(hyuser 
  215. is informed (operation cancel by TCAP). 
  216. .RT
  217. .sp 1P
  218. .LP
  219.     \fIClass 2 (only failure reported):\fR 
  220. .sp 9p
  221. .RT
  222. .PP
  223. Perform a routine test and send a reply only in case something went wrong; 
  224. time allocated: 1\ minute. 
  225. .PP
  226. In the case of a class 2 operation, the TC\(hyuser is informed if no
  227. result has been received when the timer expires. This is interpreted as a
  228. successful outcome, even if the invocation was lost. This aspect should be
  229. considered when selecting class\ 2.
  230. .RT
  231. .sp 1P
  232. .LP
  233.     \fIClass 3 (only success reported):\fR 
  234. .sp 9p
  235. .RT
  236. .PP
  237. Perform a test: this corresponds to a pessimistic view, where
  238. failure is considered as the default option, not requiring any reply.
  239. .PP
  240. Timer expiry is indicated to the TC\(hyuser: this should be interpreted 
  241. by the TC\(hyuser as a failure of the operation (but is considered normal 
  242. by TC, which considers that the operation has terminated). This aspect 
  243. should be 
  244. considered when selecting class\ 3.
  245. .RT
  246. .sp 1P
  247. .LP
  248.     \fIClass 4 (neither success, nor failure reported):\fR 
  249. .sp 9p
  250. .RT
  251. .PP
  252. Send a warning, without expecting a reply or acknowledgement of any kind.
  253. .PP
  254. In this case, a result never arises from the invocation of the
  255. operation. The TC\(hyuser relies upon TCAP and the network to deliver the
  256. invocation. Notification of the timer expiry is a local matter.
  257. .PP
  258. The diagrams in Figure 1/Q.775 illustrate possible sequences of
  259. primitives as seen by the TC\(hyuser originating an operation.
  260. .bp
  261. .RT
  262. .LP
  263. .rs
  264. .sp 47P
  265. .ad r
  266. \fBFigure 1/Q.775, (N), p.\fR 
  267. .sp 1P
  268. .RT
  269. .ad b
  270. .RT
  271. .LP
  272. .bp
  273. .sp 1P
  274. .LP
  275.     \fIComparison with ROSE (Recommendation X.219) operation classes\fR :
  276. .sp 9p
  277. .RT
  278. .PP
  279. ROSE provides for five classes of operations: classes 2 to 5,
  280. called
  281. asynchronous classes, are identical to classes\ 1 to\ 4 of TCAP. ROSE's 
  282. class\ 1 is a synchronous class; it has no counterpart in TCAP, where full\(hyduplex 
  283. exchanges of components are considered. However, a TC\(hyuser can decide to
  284. operate in a synchronous manner (see \(sc\ 3.2.1).
  285. .RT
  286. .sp 2P
  287. .LP
  288. 2.2.2
  289.     \fIMore sophisticated operations\fR 
  290. .sp 1P
  291. .RT
  292. .sp 1P
  293. .LP
  294.     \fIOperations with segmented results\fR 
  295. .sp 9p
  296. .RT
  297. .PP
  298. A successfull result may be divided into several segments, each of which 
  299. is indicated to the originator of the operation by one primitive. This 
  300. facility, using the TC\(hyRESULT\(hyNL primitive, can be used by TC\(hyusers 
  301. to overcome the absence of segmentation in the underlying layers. The last 
  302. segment is 
  303. indicated by the 
  304. TC\(hyRESULT\(hyL primitive.
  305. .PP
  306. The report of an error cannot be segmented.
  307. .PP
  308. Apart from abnormal situations, responses are delivered to the remote TC\(hyuser 
  309. in the order in which they have been passed to TCAP by the sending 
  310. TC\(hyuser.
  311. .PP
  312. TC cannot identify a specific segment in the case of a segmented
  313. result.
  314. .PP
  315. Example E1: An operation requests the execution of a test. The result of 
  316. a correct execution is segmented in three parts\ P1, P2 and\ P3 to be returned 
  317. to the originator. 
  318. .PP
  319. A possible primitive sequence for example E1 is given in
  320. Table\ 1/Q.775
  321. .RT
  322. .ce
  323. \fBH.T. [T1.775]\fR 
  324. .ce
  325. TABLE\ 1/Q.775
  326. .ps 9
  327. .vs 11
  328. .nr VS 11
  329. .nr PS 9
  330. .TS
  331. center box;
  332. cw(78p) | cw(78p) .
  333. TC USER A    TC USER B
  334. _
  335. .T&
  336. lw(78p) | lw(78p) .
  337.  {
  338. TC\(hyINVOKE req
  339. (Test, Class = 1)
  340.  }     {
  341. .
  342. TC\(hyINVOKE ind
  343. (Test)
  344. TC\(hyRESULT\(hyNL req
  345. (P1)
  346.  }
  347. _
  348. .T&
  349. lw(78p) | lw(78p) .
  350. TC\(hyRESULT\(hyNL ind (P1)    . TC\(hyRESULT\(hyNL req (P2)
  351. _
  352. .T&
  353. lw(78p) | lw(78p) .
  354. TC\(hyRESULT\(hyNL ind (P2)    . TC\(hyRESULT\(hyL req (P3)
  355. _
  356. .T&
  357. lw(78p) | lw(78p) .
  358. TC\(hyRESULT\(hyL ind (P3)    
  359. _
  360. .TE
  361. .nr PS 9
  362. .RT
  363. .ad r
  364. \fBTableau 1/Q.775 [T1.775], p.\fR 
  365. .sp 1P
  366. .RT
  367. .ad b
  368. .RT
  369. .LP
  370. .bp
  371. .PP
  372. The diagram in Figure 2/Q.775 illustrates possible sequences of
  373. primitives seen by the originator of an operation (class\ 1) with segmented
  374. results.
  375. .LP
  376. .rs
  377. .sp 31P
  378. .ad r
  379. \fBFigure 2/Q.775, (N), p.\fR 
  380. .sp 1P
  381. .RT
  382. .ad b
  383. .RT
  384. .sp 1P
  385. .LP
  386.     \fILinked operations\fR 
  387. .sp 9p
  388. .RT
  389. .PP
  390. Another extension to the basic operation scheme is the ability to link 
  391. an operation invocation to another operation invocation. 
  392. .PP
  393. Typically, this facility covers situations where the destination of
  394. the original (linked\(hyto) operation requires additional information in 
  395. order to process this operation: this is the case where menu facilities 
  396. are used (menu facilities allow a user to make a sequence of choices, each 
  397. being dependent on the previous ones). 
  398. .PP
  399. Example E2: The operation is the execution of a test with several
  400. options; before the test is executed, these options are offered for selection 
  401. to the test originator (TC\(hyuser\ A). Two operations are nested: operation\ 
  402. 1 is the test; operation\ 2 is the option selection. TC\(hyuser\ A first 
  403. responds to 
  404. operation\ 2 before TC\(hyuser\ B can perform the test with the indicated
  405. option(s).
  406. .bp
  407. .PP
  408. A possible primitive sequence for example E2 is given in
  409. Table\ 2/Q.775.
  410. .RT
  411. .ce
  412. \fBH.T. [T2.775]\fR 
  413. .ce
  414. TABLE\ 2/Q.775
  415. .ps 9
  416. .vs 11
  417. .nr VS 11
  418. .nr PS 9
  419. .TS
  420. center box;
  421. cw(80p) | cw(148p) .
  422. TC USER A    TC USER B
  423. _
  424. .T&
  425. lw(80p) | lw(74p) | lw(74p) .
  426.  {
  427. TC\(hyINVOKE req
  428. (Test, Class = 1)
  429.  }     {
  430. .
  431. TC\(hyINVOKE ind
  432. (Test)
  433. TC\(hyINVOKE req
  434. (Option\(hyselection, Class = 1)
  435.  }     {
  436. Operation 1 begin
  437. Operation 2 begin
  438.  }
  439. _
  440. .T&
  441. lw(80p) | lw(74p) | lw(74p) .
  442.  {
  443. TC\(hyINVOKE ind
  444. (Option\(hyselection)
  445. TC\(hyRESULT\(hyL req
  446. (Options)
  447.  }     {
  448. .
  449. TC\(hyRESULT\(hyL ind
  450. (Options)
  451. TC\(hyRESULT\(hyL req
  452. (Test\(hyresult)
  453.  }    . Operation 2 end
  454. _
  455. .T&
  456. lw(80p) | lw(74p) | lw(74p) .
  457.  {
  458. TC\(hyRESULT\(hyL ind
  459. (Test\(hyresult)
  460.  }        Operation 1 end
  461. _
  462. .TE
  463. .nr PS 9
  464. .RT
  465. .ad r
  466. \fBTableau 2/Q.775 [T2.775], p.\fR 
  467. .sp 1P
  468. .RT
  469. .ad b
  470. .RT
  471. .PP
  472. There is no limit to the number of operation invocations which may be linked 
  473. to a given operation invocation. 
  474. .PP
  475. Note that when an operation B is linked to another operation A, they do 
  476. not have to be nested. The only condition is that the invocation of\ B 
  477. should take place before the outcome of\ A is reported; however, operation\ 
  478. B does not have to terminate before operation\ A. 
  479. .RT
  480. .sp 2P
  481. .LP
  482. 2.3
  483.     \fIComponent\(hyrelated facilities offered to TC\(hyusers\fR 
  484. .sp 1P
  485. .RT
  486. .sp 1P
  487. .LP
  488. 2.3.1
  489.     \fIInvocation\fR 
  490. .sp 9p
  491. .RT
  492. .PP
  493. So far, operations have been considered from the static point of
  494. view. Invocation introduces a dynamic aspect: a specific invocation of an
  495. operation has to be differentiated from other possible concurrent invocations 
  496. of the same or of another operation. 
  497. .PP
  498. Each particular activation of an operation is identified by a
  499. component ID. This component ID must be non ambiguous. It is selected by the
  500. TC\(hyuser which originates the operation invocation, and passed to the
  501. destination TC\(hyuser, which will reflect it in its reply(ies): therefore it
  502. correlates the replies to an invocation, and the invocation itself.
  503. .PP
  504. The TC\(hyuser is free to assign any value to the component ID (index,
  505. address, . |  | ).
  506. .PP
  507. The component ID associated with an invocation becomes reusable when the 
  508. last or only segment of a result is received, or when certain abnormal 
  509. situations are indicated by TCAP; however, the value should not be reallocated 
  510. immediately for another operation activation, as immediate reallocation 
  511. would prevent the correct handling of some situations (see below). 
  512. .bp
  513. .PP
  514. The period during which a component ID is released, but cannot be
  515. reallocated, is called the freezing period.
  516. .PP
  517. As component IDs receive their value dynamically at the time the
  518. operation is invoked, their value cannot appear in the specification of the
  519. application protocols; rather, a \*Qlogical\*U value, to which a real value is
  520. substituted at execution time, should be indicated in order to identify an
  521. operation in a single flow.
  522. .PP
  523. Taking component IDs into consideration, the sequence of primitives
  524. for example E2 above becomes as shown in Table\ 3/Q.775.
  525. .RT
  526. .ce
  527. \fBH.T. [T3.775]\fR 
  528. .ce
  529. TABLE\ 3/Q.775
  530. .ps 9
  531. .vs 11
  532. .nr VS 11
  533. .nr PS 9
  534. .TS
  535. center box;
  536. cw(78p) | cw(78p) .
  537. TC USER A    TC USER B
  538. _
  539. .T&
  540. lw(78p) | lw(78p) .
  541.  {
  542. TC\(hyINVOKE req
  543. (1, Test, Class = 1)
  544.  }     {
  545. .
  546. TC\(hyINVOKE ind
  547. (1, Test)
  548. TC\(hyINVOKE req
  549. (2, 1, Option\(hyselection, Class = 1)
  550.  }
  551. _
  552. .T&
  553. lw(78p) | lw(78p) .
  554.  {
  555. TC\(hyINVOKE ind
  556. (2, 1, Option\(hyselection)
  557. TC\(hyRESULT\(hyL req
  558. (2, Options)
  559.  }     {
  560. .
  561. TC\(hyRESULT\(hyL ind
  562. (2, Options)
  563. TC\(hyRESULT\(hyL req
  564. (1, Test\(hyresult)
  565.  }
  566. _
  567. .T&
  568. lw(78p) | lw(78p) .
  569.  {
  570. TC\(hyRESULT\(hyL ind
  571. (1, Test\(hyresult)
  572.  }    
  573. _
  574. .TE
  575. .nr PS 9
  576. .RT
  577. .ad r
  578. \fBTableau 3/Q.775 [T3.775], p.\fR 
  579. .sp 1P
  580. .RT
  581. .ad b
  582. .RT
  583. .LP
  584. where the first parameter of a primitive indicates an invoke ID. When both
  585. parameters have to be present, the second one is the linked ID. This is 
  586. a pure notational convention. 
  587. .sp 1P
  588. .LP
  589. 2.3.2
  590.     \fICancel\fR \fI(by the TC\(hyuser)\fR 
  591. .sp 9p
  592. .RT
  593. .PP
  594. The TC\(hyuser requesting invocation of an operation may stop the
  595. activity associated with the corresponding component\ ID, for any reason it
  596. finds appropriate. However, cancel should in principle be reserved for 
  597. abnormal situations: the normal method for terminating an operation is 
  598. to receive a 
  599. result or to terminate on timer expiry.
  600. .PP
  601. Cancelling has local effect only: it does not prevent the remote
  602. TC\(hyuser from sending replies to a cancelled operation. When received, these
  603. replies will be rejected by TCAP, as illustrated in the following, which
  604. represents a sequence of primitives for the example\ E1 defined above, where
  605. TC\(hyuser\ A cancels the test after receiving the first segment of the
  606. result.
  607. .PP
  608. In Table 4/Q.775, part P2 is not received by TC\(hyuser\ A: TCAP detects 
  609. a reject situation before delivering it, and any attempt by TC\(hyuser\ 
  610. B to send 
  611. more replies is rejected at A's side.
  612. .bp
  613. .RT
  614. .ce
  615. \fBH.T. [T4.775]\fR 
  616. .ce
  617. TABLE\ 4/Q.775
  618. .ps 9
  619. .vs 11
  620. .nr VS 11
  621. .nr PS 9
  622. .TS
  623. center box;
  624. cw(78p) | cw(78p) .
  625. TC USER A    TC USER B
  626. _
  627. .T&
  628. lw(78p) | lw(78p) .
  629.  {
  630. TC\(hyINVOKE req
  631. (1, Test, Class = 1)
  632.  }     {
  633. .
  634. TC\(hyINVOKE ind
  635. (1, Test)
  636. TC\(hyRESULT\(hyNL req
  637. (1, P1)
  638.  }
  639. _
  640. .T&
  641. lw(78p) | lw(78p) .
  642.  {
  643. TC\(hyRESULT\(hyNL ind
  644. (1, P1)
  645. Cancel decision:
  646. TC\(hyCANCEL req
  647. (1)
  648. TC\(hyL\(hyREJECT ind
  649. (1, Problem Code)
  650. ....
  651.  }     {
  652. .
  653. TC\(hyRESULT\(hyNL req
  654. (1, P2)
  655. ....
  656.  }
  657. _
  658. .TE
  659. .nr PS 9
  660. .RT
  661. .ad r
  662. \fBTableau 4/Q.775 [T4.775], p.\fR 
  663. .sp 1P
  664. .RT
  665. .ad b
  666. .RT
  667. .LP
  668. .sp 3
  669. .sp 1P
  670. .LP
  671. 2.3.3
  672.     \fIReject\fR \fI(by the TC\(hyuser)\fR 
  673. .sp 9p
  674. .RT
  675. .PP
  676. A TC\(hyuser may decide to reject a component for any reason it finds appropriate, 
  677. e.g.\ application protocol error, parameter missing in an operation or 
  678. a reply,\ etc. 
  679. .PP
  680. TCAP covers a number of cases, identified by the list of Problem Codes 
  681. in Recommendation\ Q.773. In any of these cases, which correspond to situations 
  682. where an operation or a reply is not correctly formatted, the TC\(hyuser 
  683. may use the reject facility. Alternately, he may decide to return a failure 
  684. indication (error component), which allows more detailed error and diagnostic 
  685. information.
  686. .PP
  687. Reject of an operation invocation, or of a result, affect the whole
  688. operation: no more replies will be accepted for this invocation. Reject of a
  689. linked operation does not affect the linked\(hyto operation.
  690. .PP
  691. This is illustrated in Table\ 5/Q.775 where, in example E2, TC\(hyuser\ 
  692. A did not expect the option selection process (it may be an optional feature), 
  693. and rejects the operation with the Problem Code \*QUnexpected Linked Operation\*U. 
  694. TC\(hyuser\ B may then decide to execute the test assuming a default 
  695. option.
  696. .bp
  697. .RT
  698. .ce
  699. \fBH.T. [T5.775]\fR 
  700. .ce
  701. TABLE\ 5/Q.775
  702. .ps 9
  703. .vs 11
  704. .nr VS 11
  705. .nr PS 9
  706. .TS
  707. center box;
  708. cw(78p) | cw(78p) .
  709. TC USER A    TC USER B
  710. _
  711. .T&
  712. lw(78p) | lw(78p) .
  713.  {
  714. TC\(hyINVOKE req
  715. (1, Test, Class = 1)
  716.  }     {
  717. .
  718. TC\(hyINVOKE ind
  719. (1, Test)
  720. TC\(hyINVOKE req
  721. (2, 1, Option\(hyselection, Class = 1)
  722.  }
  723. _
  724. .T&
  725. lw(78p) | lw(78p) .
  726.  {
  727. TC\(hyINVOKE ind
  728. (2, 1, Option\(hyselection)
  729. TC\(hyU\(hyREJECT req
  730. (2, Problem Code)
  731.  }    
  732. _
  733. .T&
  734. lw(78p) | lw(78p) .
  735.      {
  736. TC\(hyU\(hyREJECT ind
  737. (2, Problem Code)
  738. TC\(hyRESULT\(hyL req
  739. (1, Test\(hyresult)
  740.  }
  741. _
  742. .T&
  743. lw(78p) | lw(78p) .
  744.  {
  745. TC\(hyRESULT\(hyL ind
  746. (1, Test\(hyresult)
  747.  }    
  748. _
  749. .TE
  750. .nr PS 9
  751. .RT
  752. .ad r
  753. \fBTableau 5/Q.775 [T5.775], p.\fR 
  754. .sp 1P
  755. .RT
  756. .ad b
  757. .RT
  758. .LP
  759. .sp 3
  760. .PP
  761. When an operation invocation is rejected, the TC\(hyuser may decide to 
  762. reinvoke it (e.g.\ the invoke component was corrupted); this would be a 
  763. new invocation (new Invoke ID). It may also decide to abort the dialogue. 
  764. A very 
  765. simple dialogue (a question and a response) may not define any recovery
  766. mechanisms, except when the operation is of critical importance (e.g.\ a
  767. database update).
  768. .sp 2P
  769. .LP
  770. 2.4
  771.     \fIComponent\(hyrelated abnormal situations\fR 
  772. .sp 1P
  773. .RT
  774. .sp 1P
  775. .LP
  776. 2.4.1
  777.     \fIComponent loss\fR 
  778. .sp 9p
  779. .RT
  780. .PP
  781. TCAP assumes a very low probability of message loss in the network; if 
  782. this probability is too high for an application, it should use the 
  783. connection\(hyoriented network service approach. If some protocol information
  784. needs an upgraded quality of service (e.g.\ charging information), the
  785. application should introduce its own mechanisms to obtain higher reliability
  786. for this information.
  787. .bp
  788. .RT
  789. .sp 1P
  790. .LP
  791.     \fILoss of an operation invocation\fR 
  792. .sp 9p
  793. .RT
  794. .PP
  795. The Table 6/Q.775 sequence illustrates the case, in example E1,
  796. where no response to the test is received before the time limit
  797. expires.
  798. .RT
  799. .ce
  800. \fBH.T. [T6.775]\fR 
  801. .ce
  802. TABLE\ 6/Q.775
  803. .ps 9
  804. .vs 11
  805. .nr VS 11
  806. .nr PS 9
  807. .TS
  808. center box;
  809. cw(78p) | cw(78p) .
  810. TC USER A    TC USER B
  811. _
  812. .T&
  813. lw(78p) | lw(78p) .
  814.  {
  815. TC\(hyINVOKE req
  816. (1, Test, Class = 1)
  817.  }    
  818. _
  819. .T&
  820. lw(78p) | lw(78p) .
  821.  {
  822. Time limit:
  823. TC\(hyL\(hyCANCEL ind
  824. (1)
  825.  }    
  826. _
  827. .TE
  828. .nr PS 9
  829. .RT
  830. .ad r
  831. \fBTableau 6/Q.775 [T6.775], p.\fR 
  832. .sp 1P
  833. .RT
  834. .ad b
  835. .RT
  836. .PP
  837. When a class 1 operation is lost, the TC\(hyuser is informed when the timer 
  838. asociated with the operation expires. When a class\ 1 operation with a 
  839. single result is lost, TCAP cannot indicate whether either the operation
  840. invocation, or the reply, was lost. If the application needs to discriminate
  841. between these two cases, it should do it in the application protocol
  842. (e.g.\ using the time\(hystamping or acknowledging the operation invocation 
  843. before replying to it). 
  844. .PP
  845. For a class 2 operation, loss will be considered as a success (whether 
  846. the invocation, or the failure report, was lost). This, considering the 
  847. probability of loss, may be acceptable for non critical operations
  848. (e.g.\ statistical measurements).
  849. .PP
  850. For a class 3 operation, loss is treated in the same way as operation failure, 
  851. whether the invocation, or the success report, has been lost. 
  852. .PP
  853. For a class 4 operation, loss will not be visible to TCAP.
  854. .RT
  855. .sp 1P
  856. .LP
  857.     \fILoss of a result\fR 
  858. .sp 9p
  859. .RT
  860. .LP
  861.     \(em
  862.     Loss of a non final result is never detected by TCAP.
  863. .LP
  864.     \(em
  865.     Loss of a final result will eventually be indicated to the
  866. TC\(hyuser when the time limit is reached, but cannot always be
  867. unambiguously interpreted as the loss of a reply; of no non final
  868. result has been received, it may be that the invocation was
  869. lost.
  870. .sp 1P
  871. .LP
  872.     \fILoss of a linked operation\fR 
  873. .sp 9p
  874. .RT
  875. .PP
  876. The loss of a linked operation has the same effect as the loss of a non\(hylinked 
  877. operation. It has no effect on the linked\(hyto operation. 
  878. .RT
  879. .sp 1P
  880. .LP
  881.     \fILoss of a reject component\fR 
  882. .sp 9p
  883. .RT
  884. .PP
  885. This case should be extremely infrequent, and no application should try 
  886. to recover from such a situation. If the lost reject concerns an operation 
  887. invocation, then when the operation timed out the TC\(hyuser which invoked 
  888. the 
  889. operation will consider that the invocation (or the reply) was lost, and 
  890. react accordingly; if it concerns a reply, the originator of the reply 
  891. will consider that it was correct: it will be up to the originator of the 
  892. operation to detect the loss. 
  893. .RT
  894. .sp 1P
  895. .LP
  896. 2.4.2
  897.     \fIComponent duplication\fR 
  898. .sp 9p
  899. .RT
  900. .PP
  901. As message duplication is very infrequent in the Signalling System No.\ 
  902. 7 network, scripts for No.\ 7 applications need not define sophisticated 
  903. scenarios in anticipation of such situations. However, any application 
  904. in which duplication would be unacceptable should either define its own 
  905. duplication 
  906. detection mechanism or use a connection\(hyoriented service.
  907. .bp
  908. .RT
  909. .sp 1P
  910. .LP
  911.     \fIDuplicate operation invocation\fR 
  912. .sp 9p
  913. .RT
  914. .PP
  915. When an operation invocation is duplicated (by the service
  916. provider), the destination TC\(hyuser (B) may, or may not, detect the
  917. duplication:
  918. .RT
  919. .LP
  920.     \(em
  921.      TC\(hyuser B detects the duplication: the best it can do in this case 
  922. is to ignore the duplicate; rejection could be interpreted by the remote 
  923. TC\(hyuser as rejection of the original invocation; 
  924. .LP
  925.     \(em
  926.     TC\(hyuser B does not detect the duplication: this may happen
  927. when there is a master\(hyslave relationship between\ A and\ B, and\ B 
  928. executes the operation with no knowledge of the context. 
  929. .PP
  930. Assuming the second case in exaple E1, a possible sequence could be as 
  931. given in Table\ 7/Q.775. 
  932. .ce
  933. \fBH.T. [T7.775]\fR 
  934. .ce
  935. TABLE\ 7/Q.775
  936. .ps 9
  937. .vs 11
  938. .nr VS 11
  939. .nr PS 9
  940. .TS
  941. center box;
  942. cw(80p) | cw(148p) .
  943. TC USER A    TC USER B
  944. _
  945. .T&
  946. lw(80p) | lw(74p) | lw(74p) .
  947.  {
  948. TC\(hyINVOKE req
  949. (1, Test, Class = 1)
  950. TC\(hyRESULT\(hyNL ind
  951. (1, P1)
  952. TC\(hyRESULT\(hyNL ind
  953. (1, P1)
  954. A detects an abnormal situation and rejects:
  955. TC\(hyU\(hyREJECT req
  956. (1, Problem Code)
  957. TC detects an abnormal situation and rejects P2:
  958. TC\(hyL\(hyREJECT ind
  959. (1, Problem Code)
  960.  }     {
  961. .
  962. TC\(hyINVOKE ind
  963. (1, Test)
  964. TC\(hyINVOKE ind
  965. (1, Test)
  966. TC\(hyRESULT\(hyNL req
  967. (1, P1)
  968. TC\(hyRESULT\(hyNL req
  969. (1, P1)
  970. TC\(hyRESULT\(hyNL req
  971. (1, P2)
  972. TC\(hyU\(hyREJECT ind
  973. (1, Problem Code)
  974.  }     {
  975. .
  976. Undetected duplication of invocation
  977.  }
  978. _
  979. .T&
  980. lw(80p) | lw(74p) | lw(74p) .
  981.      {
  982. TC\(hyR\(hyREJECT ind
  983. (1, Problem Code)
  984.  }    
  985. _
  986. .TE
  987. .nr PS 9
  988. .RT
  989. .ad r
  990. \fBTableau 7/Q.775 [T7.775], p.\fR 
  991. .sp 1P
  992. .RT
  993. .ad b
  994. .RT
  995. .LP
  996. .bp
  997. .PP
  998. In this sequence, TC\(hyuser B considers two independent test
  999. invocations, and responds to each of them. The first result P1 is accepted;
  1000. TC\(hyuser A detects that P1 is received a second time, and rejects it; this
  1001. terminates the operation, and causes result P2 to be rejected when received
  1002. (reject by TCAP). Therefore, both activities at B's side will terminate on
  1003. receipt of rejects.
  1004. .sp 1P
  1005. .LP
  1006.     \fIDuplicate non\(hyfinal result\fR 
  1007. .sp 9p
  1008. .RT
  1009. .PP
  1010. If a non\(hyfinal result is duplicated, TCAP cannot detect it, and
  1011. will deliver it twice to the TC\(hyuser. Detection of this situation is left to
  1012. the application.
  1013. .RT
  1014. .sp 1P
  1015. .LP
  1016.     \fIDuplicate final result\fR 
  1017. .sp 9p
  1018. .RT
  1019. .PP
  1020. If a final result is duplicated, TCAP can detect the situation: the second 
  1021. final result is considered as abnormal (the operation has been 
  1022. terminated by the first \*Qfinal\*U result), and TCAP rejects it.
  1023. .PP
  1024. Table 8/Q.775 shows a sequence for example E1 where the third segment of 
  1025. the result is duplicated (by the network). 
  1026. .RT
  1027. .ce
  1028. \fBH.T. [T8.775]\fR 
  1029. .ce
  1030. TABLE\ 8/Q.775
  1031. .ps 9
  1032. .vs 11
  1033. .nr VS 11
  1034. .nr PS 9
  1035. .TS
  1036. center box;
  1037. cw(78p) | cw(78p) .
  1038. TC USER A    TC USER B
  1039. _
  1040. .T&
  1041. lw(78p) | lw(78p) .
  1042.  {
  1043. TC\(hyINVOKE req
  1044. (1, Test, Class = 1)
  1045. TC\(hyRESULT\(hyNL ind
  1046. (1, P1)
  1047. TC\(hyRESULT\(hyNL ind
  1048. (1, P2)
  1049. TC\(hyRESULT\(hyL ind
  1050. (1, P3)
  1051. Duplication of P3:
  1052. TC\(hyL\(hyREJECT ind
  1053. (1, Problem Code)
  1054.  }     {
  1055. .
  1056. TC\(hyINVOKE ind
  1057. (1, Test)
  1058. TC\(hyRESULT\(hyNL req
  1059. (1, P1)
  1060. TC\(hyRESULT\(hyNL req
  1061. (1, P2)
  1062. TC\(hyRESULT\(hyL req
  1063. (1, P3)
  1064.  }
  1065. _
  1066. .T&
  1067. lw(78p) | lw(78p) .
  1068.      {
  1069. TC\(hyR\(hyREJECT ind
  1070. (1, Problem Code)
  1071.  }
  1072. _
  1073. .TE
  1074. .nr PS 9
  1075. .RT
  1076. .ad r
  1077. \fBTableau 8/Q.775 [T8.775], p.\fR 
  1078. .sp 1P
  1079. .RT
  1080. .ad b
  1081. .RT
  1082. .PP
  1083. Comment: Discarding of duplicates in all cases by TCAP would
  1084. probably appear as a nicer issue. However, it should be noted that:
  1085. .LP
  1086.     1)
  1087.      it would require another degree of complexity in TCAP, which contradicts 
  1088. the basic characteristics of TCAP in the 
  1089. connectionless approach;
  1090. .LP
  1091.     2)
  1092.     it corresponds to a situation which is
  1093. extremely infrequent, at least in the No.\ 7
  1094. network.
  1095. .PP
  1096. To cover these situations when required by an application, it
  1097. would be better to use a connection\(hyoriented network service approach, since
  1098. duplication could then be detected and handled at the lower layers.
  1099. .bp
  1100. .sp 1P
  1101. .LP
  1102. 2.4.3
  1103.     \fIComponent missequencing\fR 
  1104. .sp 9p
  1105. .RT
  1106. .PP
  1107. For TCAP, the order of segmented results is not relevant: if the
  1108. order is important to the TC\(hyuser, appropriate mechanisms should be 
  1109. defined in the application protocol (e.g.\ by introducing a numbering scheme 
  1110. to identify 
  1111. intermediate replies in a parameter of these replies, or by using a
  1112. connection\(hyoriented service).
  1113. .PP
  1114. Due to missequencing, a non final result may arive after a final
  1115. result: when this occurs the non final result is rejected by TCAP.
  1116. .PP
  1117. The sequence in Table\ 9/Q.775 illustrates what happens in example E1 when 
  1118. the last part of the result is received before the second one: both 
  1119. TC\(hyusers are informed.
  1120. .RT
  1121. .ce
  1122. \fBH.T. [T9.775]\fR 
  1123. .ce
  1124. TABLE\ 9/Q.775
  1125. .ps 9
  1126. .vs 11
  1127. .nr VS 11
  1128. .nr PS 9
  1129. .TS
  1130. center box;
  1131. cw(78p) | cw(78p) .
  1132. TC USER A    TC USER B
  1133. _
  1134. .T&
  1135. lw(78p) | lw(78p) .
  1136.  {
  1137. TC\(hyINVOKE req
  1138. (1, Test, Class = 1)
  1139.  }     {
  1140. .
  1141. TC\(hyINVOKE ind
  1142. (1, Test)
  1143. TC\(hyRESULT\(hyNL req
  1144. (1, P1)
  1145.  }
  1146. _
  1147. .T&
  1148. lw(78p) | lw(78p) .
  1149.  {
  1150. TC\(hyRESULT\(hyNL ind
  1151. (1, P1)
  1152. TC\(hyRESULT\(hyL ind
  1153. (1, P3)
  1154. Missequenced result:
  1155. reject
  1156. TC\(hyL\(hyREJECT ind
  1157. (1, Problem Code)
  1158.  }     {
  1159. .
  1160. TC\(hyRESULT\(hyNL req
  1161. (1, P2)
  1162. TC\(hyRESULT\(hyL req
  1163. (1, P3)
  1164.  }
  1165. _
  1166. .T&
  1167. lw(78p) | lw(78p) .
  1168.      {
  1169. TC\(hyR\(hyREJECT ind
  1170. (1, Problem Code)
  1171.  }
  1172. _
  1173. .TE
  1174. .nr PS 9
  1175. .RT
  1176. .ad r
  1177. \fBTableau 9/Q.775 [T9.775], p.\fR 
  1178. .sp 1P
  1179. .RT
  1180. .ad b
  1181. .RT
  1182. .PP
  1183. If a linked operation invocation is received after the final
  1184. result of the linked\(hyto operation (as a result of a missequencing), 
  1185. the linked operation is rejected. 
  1186. .PP
  1187. TCAP assumes a very low probability of missequencing; if the
  1188. supporting network is not satisfactory in this respect, the connection\(hyoriented 
  1189. network service approach should be considered. 
  1190. .RT
  1191. .sp 1P
  1192. .LP
  1193. 2.4.4
  1194.     \fIReject of a component by TCAP\fR 
  1195. .sp 9p
  1196. .RT
  1197. .PP
  1198. A general principle when TCAP receives a component (operation
  1199. invocation or reply) which is either not formatted correctly, or received 
  1200. out of context (e.g.\ a reply without a prior operation invocation), is 
  1201. to reject 
  1202. it, which means that:
  1203. .RT
  1204. .LP
  1205.     1)
  1206.     the destination of the faulty component is first informed of
  1207. the situation; TCAP provides whatever information is available
  1208. on the nature of the component being rejected
  1209. .LP
  1210.     2)
  1211.     in reaction to this, the TC\(hyuser may decide to abort,
  1212. continue, or end the dialogue. In the last two cases, when the
  1213. TC\(hyuser notifies TCAP of its decision, the peer TC\(hyuser is
  1214. informed of the reject.
  1215. .bp
  1216. .PP
  1217. Possible cases of reject by TCAP have been encountered in the
  1218. previous sections. Whenever the component\ ID is recognised, rejection 
  1219. by TCAP causes the termination of the operation: a possible recovery is 
  1220. a new 
  1221. invocation of the terminated operation. When the rejected component is not
  1222. identifiable, only the local TC\(hyuser is informed, and abort of the dialogue 
  1223. may be the appropriate reaction. 
  1224. .sp 1P
  1225. .LP
  1226. 2.4.5
  1227.     \fIOperation timer expiry\fR 
  1228. .sp 9p
  1229. .RT
  1230. .PP
  1231. When TCAP informs the TC\(hyuser of timer expiry (TC\(hyL\(hyCANCEL
  1232. indication), it indicates that no more information related to the operation
  1233. invocation (in particular, no reject) can be received. If the peer entity 
  1234. still sends information in relation with this invocation, this information 
  1235. will be 
  1236. discarded when received, provided that the component\ ID of the cancelled
  1237. operation has not been reallocated. Premature reallocation of component\ ID
  1238. values is normally avoided by correctly setting timer values: in order to
  1239. .PP
  1240. compensate for uncertainties in the amount of time required to send information 
  1241. from TC\(hyuser to another without accounting for the absolute worst case 
  1242. (which is also in general the most unlikely), an implementation\(hydependent 
  1243. mechanism 
  1244. avoiding premature reallocation of component IDs is required.
  1245. .PP
  1246. Timer expiry indication corresponds to an abnormal situation only in the 
  1247. case of a class\ 1 operation. The TC\(hyuser is then aware that either 
  1248. the 
  1249. invocation, or the reply, was lost. If no undesirable side effects arise,
  1250. another invocation of the same operation can take place after timer expiry.
  1251. This is illustrated by the sequence in Table\ 10/Q.775 for example\ E1.
  1252. .RT
  1253. .ce
  1254. \fBH.T. [T10.775]\fR 
  1255. .ce
  1256. TABLE\ 10/Q.775
  1257. .ps 9
  1258. .vs 11
  1259. .nr VS 11
  1260. .nr PS 9
  1261. .TS
  1262. center box;
  1263. cw(78p) | cw(78p) .
  1264. TC USER A    TC USER B
  1265. _
  1266. .T&
  1267. lw(78p) | lw(78p) .
  1268.  {
  1269. TC\(hyINVOKE req
  1270. (1, Test, Class = 1)
  1271.  }    . TC\(hyINVOKE ind (1, Test)
  1272. _
  1273. .T&
  1274. lw(78p) | lw(78p) .
  1275.  {
  1276. Timer expiry:
  1277. TC\(hyL\(hyCANCEL ind
  1278. (1)
  1279. TC\(hyINVOKE req
  1280. (2, Test, Class = 1)
  1281.  }    
  1282. _
  1283. .TE
  1284. .nr PS 9
  1285. .RT
  1286. .ad r
  1287. \fBTableau 10/Q.775 [T10.775], p.\fR 
  1288. .sp 1P
  1289. .RT
  1290. .ad b
  1291. .RT
  1292. .PP
  1293. Timer expiry for a class 2 operation indicates that no failure was received 
  1294. nor will be accepted for this invocation: it is a definite indication of 
  1295. success (for class\ 2). A parallel situation applied to class\ 3 in case 
  1296. of 
  1297. failure. The indication of timer expiry for a class\ 4 operation is a local
  1298. decision.
  1299. .sp 2P
  1300. .LP
  1301. \fB3\fR     \fBDialogues\fR 
  1302. .sp 1P
  1303. .RT
  1304. .PP
  1305. Whenever one of the operation handling primitives considered in \(sc\ 2 
  1306. is issued, a request is passed to TCAP, but nothing is sent to the remote 
  1307. TC\(hyuser until a primitive requesting transmission is issued. These primitives, 
  1308. and their relation with operation handling primitives, are considered 
  1309. now.
  1310. .bp
  1311. .RT
  1312. .sp 1P
  1313. .LP
  1314. 3.1
  1315.     \fIGrouping of components in a message\fR 
  1316. .sp 9p
  1317. .RT
  1318. .PP
  1319. The effect of TC\(hyuser issuing a component handling primitive
  1320. (unless this primitive has local effect only), is to build a \fBcomponent\fR 
  1321. to be included in a \fBmessage\fR . The message is not transmitted until 
  1322. the TC\(hyuser 
  1323. requests it.
  1324. .PP
  1325. Note that a component may also be generated as a result of a TCAP
  1326. reject: in this case this component is put in the next message for the 
  1327. dialogue unless it is aborted. 
  1328. .PP
  1329. Provided that the maximum size of a message is not exceeded, several components 
  1330. can be grouped and sent to the remote end as a single message, 
  1331. thereby saving transmission overhead. This is done under control of the
  1332. TC\(hyuser, which explicitly specifies when it wants (a) component(s) to be
  1333. sent.
  1334. .PP
  1335. Example E3, as given in Table\ 11/Q.775, shows the beginning of a
  1336. dialogue with a network service centre where a switch requests instructions
  1337. (operation\ 1) and receives a request to connect the call to a given destination 
  1338. address, and a request to send information (e.g.\ announcement or message 
  1339. to be displayed) to the calling party. Both components are contained in 
  1340. a single 
  1341. message.
  1342. .RT
  1343. .LP
  1344. .sp 1
  1345. .ce
  1346. \fBH.T. [T11.775]\fR 
  1347. .ce
  1348. TABLE\ 11/Q.775
  1349. .ps 9
  1350. .vs 11
  1351. .nr VS 11
  1352. .nr PS 9
  1353. .TS
  1354. center box;
  1355. cw(78p) | cw(78p) .
  1356. TC USER A    TC USER B
  1357. _
  1358. .T&
  1359. lw(78p) | lw(78p) .
  1360.  {
  1361. TC\(hyINVOKE req
  1362. (1, Provide\(hyInstructions, Class = 1)
  1363. TC\(hyBEGIN req
  1364. (control parameters)
  1365.  }    
  1366. _
  1367. .T&
  1368. lw(78p) | lw(78p) .
  1369.      {
  1370. TC\(hyBEGIN ind
  1371. (control parameters)
  1372. TC\(hyINVOKE ind
  1373. (1, Provide\(hyinstructions)
  1374. TC\(hyINVOKE req
  1375. (2, 1, Connect\(hyCall)
  1376. TC\(hyRESULT\(hyL req
  1377. (1, Send\(hyInfo)
  1378. TC\(hyCONTINUE req
  1379. (control parameters)
  1380.  }
  1381. _
  1382. .T&
  1383. lw(78p) | lw(78p) .
  1384.  {
  1385. TC\(hyCONTINUE ind
  1386. (control parameters)
  1387. TC\(hyINVOKE ind
  1388. (2, 1, Connect\(hyCall)
  1389. TC\(hyRESULT\(hyL ind
  1390. (1, Send\(hyInfo)
  1391.  }    
  1392. _
  1393. .TE
  1394. .nr PS 9
  1395. .RT
  1396. .ad r
  1397. \fBTableau 11/Q.775 [T11.775], p.\fR 
  1398. .sp 1P
  1399. .RT
  1400. .ad b
  1401. .RT
  1402. .LP
  1403. .sp 1
  1404. .bp
  1405. .PP
  1406. TC\(hyBEGIN and TC\(hyCONTINUE are transmission primitives described in 
  1407. \(sc\ 3.2 below. 
  1408. .PP
  1409. There may be one transmission primitive for each component, but the
  1410. separation of primitives allows the grouping of components within a message.
  1411. In addition, the information contained in the parameters of the transmission
  1412. primitives (e.g.\ addressing information) applies to all the components 
  1413. included in the message. 
  1414. .PP
  1415. At the originating side, the primitive requesting transmission appears 
  1416. after a component handling primitive; this indicates that transmission 
  1417. of the preceeding components has to take place immediately; it avoids indicating 
  1418. specific components to be transmitted with a given transmission primitive, 
  1419. and allows transmission primitives without any associated component. 
  1420. .PP
  1421. At the destination side, the primitive requesting transmission appears 
  1422. first: it contains control information which is necessary for TCAP to deliver 
  1423. each of the components (if any) in the message; the last component of the 
  1424. message is indicated to the TC\(hyuser by the \*QLast Component\*U parameter. 
  1425. The 
  1426. components are delivered to the destination TC\(hyuser in the same order 
  1427. as they were passed to TCAP by the originating TC\(hyuser. 
  1428. .RT
  1429. .sp 1P
  1430. .LP
  1431. 3.2
  1432.     \fIDialogue handling facilities\fR 
  1433. .sp 9p
  1434. .RT
  1435. .PP
  1436. When two TC\(hyusers co\(hyoperate in an application, more than one
  1437. operation invocation is generally required. The resulting flow of components
  1438. has to be identified so that:
  1439. .RT
  1440. .LP
  1441.     1)
  1442.     components of the same flow can be related
  1443. .LP
  1444.     2)
  1445.     flows corresponding to several instances of the same
  1446. application can be identified and allowed to run in parallel.
  1447. .PP
  1448. Each such flow is identified, for the TC\(hyuser, by a dialogue and a corresponding 
  1449. Dialogue ID\ parameter. The dialogue handling facility provided 
  1450. for this purpose is the structured dialogue.
  1451. .PP
  1452. When only a single message is required to complete a distributed
  1453. application, the Unidirectional message of the unstructured dialogue may be
  1454. used. The originator does not expect a report of the outcome of the operation 
  1455. (i.e.\ may only invoke class\ 4 operations), but may receive a report of 
  1456. protocol error if one occurs.
  1457. .RT
  1458. .sp 2P
  1459. .LP
  1460. 3.2.1
  1461.     \fIStructured dialogue\fR 
  1462. .sp 1P
  1463. .RT
  1464. .sp 1P
  1465. .LP
  1466. 3.2.1.1
  1467.     \fIGeneral\fR 
  1468. .sp 9p
  1469. .RT
  1470. .PP
  1471. The use of dialogues allows several flows of components to co\(hyexist 
  1472. between two TC\(hyusers. The Dialogue ID\ parameter is used in both operation 
  1473. handling and transmission (dialogue) handling primitives to determine which
  1474. component(s) pertain(s) to which dialogue.
  1475. .PP
  1476. The Dialogue ID parameter is represented (by convention) by the first parameter 
  1477. in these primitives, starting with letter\ D. Each TC\(hyuser has its own 
  1478. reference for a given dialogue. Local references (those used on the interface) 
  1479. are represented here; mapping of these local references onto protocol 
  1480. references included in messages is done by TCAP.
  1481. .PP
  1482. Three primitives have been defined for handling dialogues under normal 
  1483. circumstances; they indicate dialogue begin (TC\(hyBEGIN), continuation 
  1484. (TC\(hyCONTINUE) or end (TC\(hyEND). Each of these primitives may be used 
  1485. to request transmission of 0, 1 or several components; these components 
  1486. may contain 
  1487. information relating to one or several operations.
  1488. .bp
  1489. .PP
  1490. Table 12/Q.775 illustrates a possible sequence for example E2, where the 
  1491. test request starts the dialogue, which ends when the test result has been 
  1492. sent. 
  1493. .RT
  1494. .ce
  1495. \fBH.T. [T12.775]\fR 
  1496. .ce
  1497. TABLE\ 12/Q.775
  1498. .ps 9
  1499. .vs 11
  1500. .nr VS 11
  1501. .nr PS 9
  1502. .TS
  1503. center box;
  1504. cw(78p) | cw(78p) .
  1505. TC USER A    TC USER B
  1506. _
  1507. .T&
  1508. lw(78p) | lw(78p) .
  1509.  {
  1510. TC\(hyINVOKE req
  1511. (D1, 1, Test, Class = 1)
  1512. TC\(hyBEGIN req
  1513. (D1, Address)
  1514.  }    
  1515. _
  1516. .T&
  1517. lw(78p) | lw(78p) .
  1518.      {
  1519. TC\(hyBEGIN ind
  1520. (D2, Address)
  1521. TC\(hyINVOKE ind
  1522. (D2, 1, Test)
  1523. TC\(hyINVOKE req
  1524. (D2, 2, 1, Option\(hyselection, Class = 1)
  1525. TC\(hyCONTINUE req
  1526. (D2)
  1527.  }
  1528. _
  1529. .T&
  1530. lw(78p) | lw(78p) .
  1531.  {
  1532. TC\(hyCONTINUE ind
  1533. (D1)
  1534. TC\(hyINVOKE ind
  1535. (D1, 2, 1, Option\(hyselection)
  1536. TC\(hyRESULT\(hyL req
  1537. (D1, 2, Options)
  1538. TC\(hyCONTINUE\(hyreq
  1539. (D1)
  1540. TC\(hyEND ind
  1541. (D1, normal)
  1542. TC\(hyRESULT\(hyL ind
  1543. (D1, 1, Test\(hyresult)
  1544.  }     {
  1545. .
  1546. TC\(hyCONTINUE ind
  1547. (D2)
  1548. TC\(hyRESULT\(hyL ind
  1549. (D2, 2, Options)
  1550. TC\(hyRESULT\(hyL req
  1551. (D2, 1, Test\(hyresult)
  1552. TC\(hyEND req
  1553. (D2)
  1554.  }
  1555. _
  1556. .TE
  1557. .nr PS 9
  1558. .RT
  1559. .ad r
  1560. \fBTableau 12/Q.775 [T12.775], p.\fR 
  1561. .sp 1P
  1562. .RT
  1563. .ad b
  1564. .RT
  1565. .LP
  1566. .bp
  1567. .PP
  1568. Any grouping of components is allowed in the messages of a
  1569. dialogue: TCAP does not check, for instance, that a message terminating a
  1570. dialogue does not include operation invocations of class\ 1. Full\(hyduplex
  1571. exchange of components is assumed: if a TC\(hyuser wants to introduce some
  1572. restrictions, e.g.\ working in a synchronous mode as defined in ROSE, it 
  1573. would have to introduce the necessary procedures itself. 
  1574. .sp 1P
  1575. .LP
  1576. 3.2.1.2
  1577.     \fIExchange of messages\fR 
  1578. .sp 9p
  1579. .RT
  1580. .PP
  1581. Transmission of messages is accomplished with the quality of
  1582. service of the underlying layer services: no flow control or error recovery
  1583. mechanisms are provided by TCAP.
  1584. .RT
  1585. .LP
  1586.     \(em
  1587.     The first dialogue handling primitive of a dialogue must
  1588. indicate dialogue begin (TC\(hyBEGIN). Further messages must not be sent 
  1589. from the side originating the dialogue until a message is received in the 
  1590. backward 
  1591. direction, indicating dialogue continuation.
  1592. .LP
  1593.     \(em
  1594.     If a TC\(hyuser tries to send a large number of messages in a
  1595. short amount of time, no flow control mechanism in TCAP will prevent it.
  1596. .LP
  1597.     \(em
  1598.     SCCP class 1 in\(hysequence delivery can be requested as an
  1599. option, indicated by the Quality of Service parameter. Note that this option
  1600. may not be available end to end when interworking with a network which 
  1601. does not provide it. 
  1602. .sp 1P
  1603. .LP
  1604. 3.2.1.3
  1605.     \fIDialogue end\fR 
  1606. .sp 9p
  1607. .RT
  1608. .PP
  1609. TCAP places no restriction on the ability for a TC\(hyuser to request dialogue 
  1610. end. It follows that messages may be lost if no precautions are taken in 
  1611. the application on when the dialogue may end. In particular, if the 
  1612. application protocol allows both TC\(hyusers to issue TC\(hyEND primitives 
  1613. at about the same time, and if these primitives trigger transmission of 
  1614. components, it is likely that some (if not all) of these components will 
  1615. not be delivered to their respective destination TC\(hyusers. 
  1616. .PP
  1617. It is up to the application to define, if necessary, its own rules
  1618. concerning the right to end a dialogue: TCAP will not check them. Any message 
  1619. received for a terminated dialogue is discarded if it requests dialogue 
  1620. end, 
  1621. and otherwise causes the dialogue to be aborted at the remote entity.
  1622. .PP
  1623. The differences between the three ways of ending a dialogue are as
  1624. follows.
  1625. .RT
  1626. .sp 1P
  1627. .LP
  1628.     \fIPrearranged end\fR 
  1629. .sp 9p
  1630. .RT
  1631. .PP
  1632. A typical application is the access to a distributed database,
  1633. where the requesting user (TC\(hyuser\ A) does not know where the information 
  1634. it 
  1635. seeks is located. TC\(hyuser\ A broadcasts a request to each location which 
  1636. might have the information required, and will eventually receive a response 
  1637. from the TC\(hyuser which holds this information. Prearranged end avoids 
  1638. messages from the other destinations saying: \*QI do not have this information\*U. 
  1639. Only the 
  1640. responding destination may continue the dialogue (if so wished); all other
  1641. destination will, by convention, end the dialogue locally; the originator of
  1642. the requests will also end the dialogues with the non\(hyresponding destinations 
  1643. locally, when it receives the response to its request. Note that the convention 
  1644. is between applications: TCAP does not check that it is respected, nor 
  1645. is it 
  1646. indicated in the TCAP protocol.
  1647. .PP
  1648. Example E4 in Table 13/Q.775 illustrates this situation, with two
  1649. destinations B1 and B2; two dialogues (D1, D2) and (D3, D4) are started; B1
  1650. happens to own the requested information, and decides to continue the
  1651. dialogue.
  1652. .bp
  1653. .RT
  1654. .ce
  1655. \fBH.T. [T13.775]\fR 
  1656. .ce
  1657. TABLE\ 13/Q.775
  1658. .ps 9
  1659. .vs 11
  1660. .nr VS 11
  1661. .nr PS 9
  1662. .TS
  1663. center box;
  1664. cw(80p) | cw(74p) | cw(74p) .
  1665. TC USER A    TC USER B1    TC USER B2
  1666. _
  1667. .T&
  1668. lw(80p) | lw(74p) | lw(74p) .
  1669.  {
  1670. TC\(hyINVOKE req
  1671. (D1, 1, Question)
  1672. TC\(hyBEGIN req
  1673. (D1, Address)
  1674. TC\(hyINVOKE req
  1675. (D3, 1, Question)
  1676. TC\(hyBEGIN req
  1677. (D3, Address)
  1678. TC\(hyCONTINUE ind
  1679. (D1)
  1680. TC\(hyRESULT\(hyL ind
  1681. (D1, 1, Response)
  1682. \ D1 goes on
  1683. \ D3 ends locally
  1684. TC\(hyEND req
  1685. (D3, local)
  1686.  }     {
  1687. .
  1688. TC\(hyBEGIN ind
  1689. (D2, Address)
  1690. TC\(hyINVOKE ind
  1691. (D2, 1, Question)
  1692. TC\(hyRESULT\(hyL req
  1693. (D2, 1, Response)
  1694. TC\(hyCONTINUE req
  1695. (D2)
  1696. ......
  1697.  }     {
  1698. .
  1699. TC\(hyBEGIN ind
  1700. (D4, Address)
  1701. TC\(hyINVOKE ind
  1702. (D4, 1, Question)
  1703. B2 does not have the information:
  1704. TC\(hyEND req
  1705. (D4, local)
  1706.  }
  1707. _
  1708. .TE
  1709. .nr PS 9
  1710. .RT
  1711. .ad r
  1712. \fBTableau 13/Q.775 [T13.775], p.\fR 
  1713. .sp 1P
  1714. .RT
  1715. .ad b
  1716. .RT
  1717. .LP
  1718. .sp 2
  1719. .PP
  1720. Prearranged end may also be used when a TC\(hyuser wants to send
  1721. information, and does not expect a reply of any kind afterwards.
  1722. .sp 1P
  1723. .LP
  1724.     \fIBasic end\fR 
  1725. .sp 9p
  1726. .RT
  1727. .PP
  1728. When a TC\(hyuser issues the TC\(hyEND request primitive, it causes
  1729. transmission of any pending components to the remote end. TCAP does not 
  1730. check that all operation invocations have received a response when dialogue 
  1731. end is 
  1732. requested: no notification is given to the TC\(hyuser that any pending 
  1733. operation invocations have not received a final result. 
  1734. .PP
  1735. At the receiving end, the dialogue is considered terminated when all the 
  1736. components received within the message indicating the end have been 
  1737. delivered to the TC\(hyuser.
  1738. .bp
  1739. .PP
  1740. Example: the dialogue ends when the test in example E1,
  1741. Table\ 14/Q.775, receives a response.
  1742. .RT
  1743. .ce
  1744. \fBH.T. [T14.775]\fR 
  1745. .ce
  1746. TABLE\ 14/Q.775
  1747. .ps 9
  1748. .vs 11
  1749. .nr VS 11
  1750. .nr PS 9
  1751. .TS
  1752. center box;
  1753. cw(78p) | cw(78p) .
  1754. TC USER A    TC USER B
  1755. _
  1756. .T&
  1757. lw(78p) | lw(78p) .
  1758.  {
  1759. ......
  1760. TC\(hyEND ind
  1761. (D1)
  1762. TC\(hyRESULT\(hyNL ind
  1763. (D1, 1, P1)
  1764. TC\(hyRESULT\(hyNL ind
  1765. (D1, 1, P2)
  1766. TC\(hyRESULT\(hyL ind
  1767. (D1, 1, P3)
  1768. End of dialogue for A
  1769.  }     {
  1770. ......
  1771. TC\(hyRESULT\(hyNL req
  1772. (D2, 1, P1)
  1773. TC\(hyRESULT\(hyNL req
  1774. (D2, 1, P2)
  1775. TC\(hyRESULT\(hyL req
  1776. (D2, 1, P3)
  1777. TC\(hyEND req
  1778. (D2, normal)
  1779. End of dialogue for B
  1780.  }
  1781. _
  1782. .TE
  1783. .nr PS 9
  1784. .RT
  1785. .ad r
  1786. \fBTableau 14/Q.775 [T14.775], p.\fR 
  1787. .sp 1P
  1788. .RT
  1789. .ad b
  1790. .RT
  1791. .sp 1P
  1792. .LP
  1793.     \fIAbort by the TC\(hyuser\fR 
  1794. .sp 9p
  1795. .RT
  1796. .PP
  1797. The abort facility allows the TC\(hyuser to stop the dialogue at any time. 
  1798. A typical case is when the user abandons the service. The main 
  1799. differences between this and normal ending are:
  1800. .RT
  1801. .LP
  1802.     \(em
  1803.      any components for which transmission is pending are not sent to the 
  1804. peer entity; 
  1805. .LP
  1806.     \(em
  1807.     peer\(hyto\(hypeer information can be indicated at the time the
  1808. abort is issued, and this is delivered to the remote TC\(hyuser.
  1809. .PP
  1810. The sequence given in Table\ 15/Q.775 shows a user abandonment in   example E2.
  1811. .sp 1P
  1812. .LP
  1813. 3.2.1.4
  1814.     \fIMessage\(hyrelated abnormal situations\fR 
  1815. .sp 9p
  1816. .RT
  1817. .PP
  1818. These are considered independently from the effects of such events in the 
  1819. Component sub\(hylayer. 
  1820. .RT
  1821. .sp 1P
  1822. .LP
  1823.     \fIMessage loss\fR 
  1824. .sp 9p
  1825. .RT
  1826. .PP
  1827. TCAP provides no protection against message loss. Three cases are   identified:
  1828. .RT
  1829. .LP
  1830.     1)
  1831.     the message begins a new dialogue: the dialogue will exist
  1832. at the originating side only, and no message will be allowed in
  1833. either direction. Eventually, an implementation\(hydependent
  1834. mechanism of TCAP ends the dialogue at the originating end;
  1835. .LP
  1836.     2)
  1837.     the message continues an existing dialogue: loss is not
  1838. detected. TCAP will react (or not) to the loss of included
  1839. components as indicated in \(sc\ 2.4.1 above;
  1840. .LP
  1841.     3)
  1842.     the message ends a dialogue: TCAP will eventually react if
  1843. this message contained a response to a class\ 1 operation:
  1844. otherwise an implementation\(hydependent mechanism may end the
  1845. dialogue at the destination end.
  1846. .bp
  1847. .LP
  1848. .ce
  1849. \fBH.T. [T15.775]\fR 
  1850. .ce
  1851. TABLE\ 15/Q.775
  1852. .ps 9
  1853. .vs 11
  1854. .nr VS 11
  1855. .nr PS 9
  1856. .TS
  1857. center box;
  1858. cw(78p) | cw(78p) .
  1859. TC USER A    TC USER B
  1860. _
  1861. .T&
  1862. lw(78p) | lw(78p) .
  1863.  {
  1864. TC\(hyINVOKE req
  1865. (D1, 1, Test, Class = 1)
  1866. TC\(hyBEGIN req
  1867. (D1, Address)
  1868.  }    
  1869. _
  1870. .T&
  1871. lw(78p) | lw(78p) .
  1872.      {
  1873. TC\(hyBEGIN ind
  1874. (D2, Address)
  1875. TC\(hyINVOKE ind
  1876. (D2, 1, Test)
  1877. TC\(hyINVOKE req
  1878. (D2, 2, 1, Option\(hyselection, Class = 1)
  1879. TC\(hyCONTINUE req
  1880. (D2)
  1881.  }
  1882. _
  1883. .T&
  1884. lw(78p) | lw(78p) .
  1885.  {
  1886. TC\(hyCONTINUE ind
  1887. (D1)
  1888. TC\(hyINVOKE ind
  1889. (D1, 2, 1, Option\(hyselection)
  1890. User abandon:
  1891. TC\(hyU\(hyABORT req
  1892. (D1, Cause)
  1893.  }    
  1894. _
  1895. .T&
  1896. lw(78p) | lw(78p) .
  1897.      {
  1898. TC\(hyU\(hyABORT ind
  1899. (D2, Cause)
  1900.  }
  1901. _
  1902. .TE
  1903. .nr PS 9
  1904. .RT
  1905. .ad r
  1906. \fBTableau 15/Q.775 [T15.775], p.\fR 
  1907. .sp 1P
  1908. .RT
  1909. .ad b
  1910. .RT
  1911. .LP
  1912. .sp 2
  1913. .sp 1P
  1914. .LP
  1915.     \fIMessage duplication\fR 
  1916. .sp 9p
  1917. .RT
  1918. .PP
  1919. Duplication of a BEGIN message causes two transactions to be
  1920. opened, as indicated below: each of these transactions has its own local\ ID,
  1921. and the same destination ID. The TC\(hyuser eventually detects that something 
  1922. is wrong, and both dialogues are aborted. 
  1923. .bp
  1924. .PP
  1925. The sequence given in Table 16/Q.775 illustrates a duplication of the BEGIN 
  1926. message in Example\ E2. 
  1927. .RT
  1928. .ce
  1929. \fBH.T. [T16.775]\fR 
  1930. .ce
  1931. TABLE\ 16/Q.775
  1932. .ps 9
  1933. .vs 11
  1934. .nr VS 11
  1935. .nr PS 9
  1936. .TS
  1937. center box;
  1938. cw(78p) | cw(78p) .
  1939. TC USER A    TC USER B
  1940. _
  1941. .T&
  1942. lw(78p) | lw(78p) .
  1943.  {
  1944. TC\(hyINVOKE req
  1945. (D1, 1, Test, Class = 1)
  1946. TC\(hyBEGIN req
  1947. (D1, Address)
  1948.  }    
  1949. _
  1950. .T&
  1951. lw(78p) | lw(78p) .
  1952.  {
  1953. .
  1954. TC\(hyCONTINUE ind
  1955. (D1)
  1956. TC\(hyINVOKE ind
  1957. (D1, 2, 1, Option\(hyselect)
  1958.  }     {
  1959. TC\(hyBEGIN ind
  1960. (D2, Address)
  1961. TC\(hyINVOKE ind
  1962. (D2, 1, Test)
  1963. Duplicated BEGIN:
  1964. TC\(hyBEGIN ind
  1965. (D3, Address)
  1966. TC\(hyINVOKE ind
  1967. (D3, 1, Test)
  1968. Response to the first Begin
  1969. TC\(hyINVOKE req
  1970. (D2, 2, 1, Option\(hyselect, Class = 1)
  1971. TC\(hyCONTINUE req
  1972. (D2)
  1973. Response to the second Begin
  1974. TC\(hyINVOKE ind
  1975. (D3, 2, 1, Option\(hyselect, Class = 1)
  1976. TC\(hyCONTINUE req
  1977. (D3)
  1978.  }
  1979. _
  1980. .T&
  1981. lw(78p) | lw(78p) .
  1982.  {
  1983. TC\(hyCONTINUE ind
  1984. (D1)
  1985. TC\(hyINVOKE ind
  1986. (D1, 2, 1, Option\(hyselect)
  1987. TC\(hyuser considers that this invocation is abnormal, and may reject it, or
  1988. abort one of the dialogues:
  1989. TC\(hyU\(hyABORT req
  1990. (D1, Cause)
  1991.  }    
  1992. _
  1993. .T&
  1994. lw(78p) | lw(78p) .
  1995.      {
  1996. TC\(hyU\(hyABORT ind
  1997. (D3, Cause)
  1998.  }
  1999. _
  2000. .TE
  2001. .nr PS 9
  2002. .RT
  2003. .ad r
  2004. \fBTableau 16/Q.775 [T16.775], p.\fR 
  2005. .sp 1P
  2006. .RT
  2007. .ad b
  2008. .RT
  2009. .LP
  2010. .bp
  2011. .PP
  2012. At that moment, there is still one dialogue (with local ID D2) at TC\(hyuser 
  2013. B's side, but no dialogue at A's side. TC\(hyuser\ B will receive an 
  2014. indication from TCAP when operation\ 2 of dialogue D2 timeouts with no reply
  2015. (TC\(hyL\(hyCANCEL ind), and may then decide to abort D2. Note that the 
  2016. situation 
  2017. would be more difficult to detect, had TC\(hyuser\ B not invoked a class 1
  2018. operation.
  2019. .PP
  2020. Duplication of a CONTINUE message is not detected by TCAP.
  2021. .PP
  2022. When an END message is duplicated, the second message is received with 
  2023. an ID which does not correspond to an active dialogue: TCAP reacts by 
  2024. discarding the duplicate message.
  2025. .RT
  2026. .sp 1P
  2027. .LP
  2028.     \fIMissequencing of messages\fR 
  2029. .sp 9p
  2030. .RT
  2031. .PP
  2032. When the missequenced messages involve neither the beginning, nor the end 
  2033. of a dialogue, missequencing is not detected by TCAP, and may result in 
  2034. component missequencing, to which TCAP would react as indicated in \(sc\ 
  2035. 2.5.3 
  2036. above.
  2037. .PP
  2038. When a message indicating dialogue continuation arrives after a
  2039. message indicating the end of the same dialogue, it is not delivered, and
  2040. causes TCAP to abort the dialogue; the TC\(hyuser will probably detect the loss
  2041. when receiving a premature dialogue end indication. If the application 
  2042. needs to recover from this case, a new dialogue should be started. 
  2043. .RT
  2044. .sp 1P
  2045. .LP
  2046.     \fIMessage corruption\fR 
  2047. .sp 9p
  2048. .RT
  2049. .PP
  2050. When receiving a corrupted message, TCAP reacts as indicated in
  2051. Recommendation\ Q.774.
  2052. .PP
  2053. Table 17/Q.775 shows the sequence of primitives when TCAP decides to abort 
  2054. the dialogue after receiving a corrupted message in example\ E2. 
  2055. .RT
  2056. .ce
  2057. \fBH.T. [T17.775]\fR 
  2058. .ce
  2059. TABLE\ 17/Q.775
  2060. .ps 9
  2061. .vs 11
  2062. .nr VS 11
  2063. .nr PS 9
  2064. .TS
  2065. center box;
  2066. cw(78p) | cw(78p) .
  2067. TC USER A    TC USER B
  2068. _
  2069. .T&
  2070. lw(78p) | lw(78p) .
  2071.  {
  2072. TC\(hyINVOKE req
  2073. (D1, 1, Test, Class = 1)
  2074. TC\(hyBEGIN req
  2075. (D1, Address)
  2076.  }    
  2077. _
  2078. .T&
  2079. lw(78p) | lw(78p) .
  2080.      {
  2081. TC\(hyBEGIN ind
  2082. (D2, Address)
  2083. TC\(hyINVOKE ind
  2084. (D2, 1, Test)
  2085. TC\(hyINVOKE req
  2086. (D2, 2, 1, Option\(hyselect, Class = 1)
  2087. TC\(hyCONTINUE req
  2088. (D2)
  2089.  }
  2090. _
  2091. .T&
  2092. lw(78p) | lw(78p) .
  2093.  {
  2094. Corrupted message:
  2095. TC\(hyABORT ind
  2096. (D1, Cause)
  2097.  }    . TC\(hyABORT ind (D2, Cause)
  2098. _
  2099. .TE
  2100. .nr PS 9
  2101. .RT
  2102. .ad r
  2103. \fBTableau 17/Q.775 [T17.775], p.\fR 
  2104. .sp 1P
  2105. .RT
  2106. .ad b
  2107. .RT
  2108. .LP
  2109. .bp
  2110. .sp 1P
  2111. .LP
  2112. 3.2.1.5
  2113.     \fIRelations between dialogue handling and operation handling\fR 
  2114. .sp 9p
  2115. .RT
  2116. .PP
  2117. Depending on the moment when the dialogue end is requested, the
  2118. TCAP facilities associated with an operation will be available until the 
  2119. end of the dialogue, or not. The following gives some guidelines on when 
  2120. dialogue end can be requested; if these are not respected, TCAP will not 
  2121. refuse the request for dialogue end. 
  2122. .PP
  2123. The problems that may result from the collision of messages requesting 
  2124. dialogue end have been considered above. 
  2125. .PP
  2126. Normal end should not be requested when:
  2127. .RT
  2128. .LP
  2129.     \(em
  2130.     there are operation invocations pending for the dialogue;
  2131. .LP
  2132.     \(em
  2133.     the application protocol anticipates that replies being
  2134. transmitted with the termination request could be rejected.
  2135. .PP
  2136. In addition, a request for dialogue end must not trigger
  2137. transmission of operation invocations, since no reply could be received for
  2138. these operations.
  2139. .PP
  2140. Many applications might not define recovery scenarios in response to a 
  2141. rejected reply. This legitimises the transmission of replies or of class\ 
  2142. operations in a message indicating dialogue end. The other applications 
  2143. should either use the connection\(hyoriented network service approach, 
  2144. or end the 
  2145. dialogue with a message containing no component, that would be sent only 
  2146. when a reject indication can no longer be received. 
  2147. .RT
  2148. .sp 1P
  2149. .LP
  2150. 3.2.2
  2151.     \fIUnstructured dialogue\fR 
  2152. .sp 9p
  2153. .RT
  2154. .PP
  2155. A Unidirectional message will contain either only class\ 4 operation invocations 
  2156. or reports of protocol errors in such invocations. Multiple 
  2157. components can be transmitted in a Unidirectional message provided that the
  2158. maximum size of a message is not exceeded.
  2159. .RT
  2160. .sp 2P
  2161. .LP
  2162. \fB4\fR     \fBApplication service elements\fR \fBand\fR 
  2163. \fBapplication\fR 
  2164. \fBentities\fR 
  2165. .sp 1P
  2166. .RT
  2167. .sp 1P
  2168. .LP
  2169. 4.1
  2170.     \fIIntroduction\fR 
  2171. .sp 9p
  2172. .RT
  2173. .PP
  2174. This material supplements preceding material providing guidelines on the 
  2175. usage of TC by describing what needs to be included in an Application 
  2176. Entity (AE) specification. This material is based on CCITT
  2177. Recommendations\ X.219 and X.229 and requires further study.
  2178. .PP
  2179. CCITT Recommendation Q.700, \(sc\ 3.2.3.6, describes how Application
  2180. Service Elements (ASEs) and Application Entities (AEs) are structured and 
  2181. how an AE is addressed in Signalling System No.\ 7. 
  2182. .PP
  2183. This section illustrates that architecture, considering the functional 
  2184. decomposition of an application, and describes how AEs, ASEs, operations 
  2185. and 
  2186. errors should be defined.
  2187. .RT
  2188. .sp 1P
  2189. .LP
  2190. 4.2
  2191.     \fIDecomposition of\fR 
  2192. \fIfunctionality\fR 
  2193. .sp 9p
  2194. .RT
  2195. .PP
  2196. Application process functions communicate through one or more
  2197. Application Entities (AEs). The combination of two peer AEs plus their
  2198. interaction is called the Application Context. An AE consists of communications 
  2199. for one or more functions of an application. Each communications function 
  2200. forms an ASE which is an integrated set of actions and may be used in more 
  2201. than an 
  2202. AE. TCAP is itself an ASE which is used by other ASEs as well as being 
  2203. common to AEs (see \(sc\ 3.2.3.6/Q.700). An ASE identifies one or more 
  2204. operations and 
  2205. specifies how those operations are used; that is, which peer entity may 
  2206. invoke which operations, and in what order. Operations may be selected 
  2207. from one or 
  2208. more libraries.
  2209. .PP
  2210. An ASE provides a service to the user of the ASE. An ASE is used by
  2211. two complementary AEs: the consumer of the service and the supplier of the
  2212. service. The consumer of the service is the end that initiates the AE to AE
  2213. communication. An ASE user is thus generally asymmetric.
  2214. .bp
  2215. .PP
  2216. Within an ASE, the mechanism for providing the ASE service is the
  2217. invocation of operations by the service requestor on the service provider. 
  2218. Each operation provides a part of the service in an inherently asymmetric 
  2219. manner 
  2220. since it is invoked by one AE and executed by the peer AE. An ASE generally
  2221. includes more than one operation. An ASE user is, in general, not limited to
  2222. either invoking or performing operations, but may both invoke or perform the
  2223. same or different operations. Also, an ASE user may exist at a pair of nodes
  2224. such that either node may request the same service from the other node. That
  2225. is, the AEs at the nodes may be symmetric, both invoking and executing the
  2226. same operations.
  2227. .PP
  2228. \fINote\fR \ \(em\ Primitives which provide a standard service interface 
  2229. for the access of ASEs within AEs are for further study. 
  2230. .PP
  2231. Figure 3/Q.775 illustrates the decomposition of this functionality and 
  2232. provides examples. 
  2233. .RT
  2234. .LP
  2235. .sp 2
  2236. .rs
  2237. .sp 21P
  2238. .ad r
  2239. \fBFigure 3/Q.775, (N), p.\fR 
  2240. .sp 1P
  2241. .RT
  2242. .ad b
  2243. .RT
  2244. .LP
  2245. .sp 2
  2246. .sp 1P
  2247. .LP
  2248. 4.3
  2249.     \fIHow to specify an AE\fR 
  2250. .sp 9p
  2251. .RT
  2252. .PP
  2253. CCITT Recommendation Q.700, \(sc\ 3.2.3.6, describes how two Signalling 
  2254. System No.\ 7 Application Processes communicate via Application Entities, 
  2255. and 
  2256. also the structure of an AE.
  2257. .PP
  2258. The application designer should provide a definition for each type of AE. 
  2259. It should contain: 
  2260. .RT
  2261. .LP
  2262.     \(em
  2263.     A general description of the services supported by the
  2264. combination of the two peer AEs and communicating by a dialogue.
  2265. (In Recommendation\ X.229 terminology, this corresponds to the
  2266. \*QApplication Context\*U).
  2267. .LP
  2268.     \(em
  2269.     A definition of the complete application protcol between the
  2270. peer AEs by:
  2271. .LP
  2272.     \(em
  2273.     identifying each ASE constituting the AE, and
  2274. .LP
  2275.     \(em
  2276.     indicating which of the peer AEs initiates the
  2277. service.
  2278. .LP
  2279.     \(em
  2280.     Any special constraints to ensure that peer AEs with
  2281. different versions are compatible.
  2282. .bp
  2283. .PP
  2284. A formal specification of the application context using the
  2285. Recommendation\ X.229 APPLICATION\(hyCONTEXT macro is for further study.
  2286. .PP
  2287. Since each AE constitutes a single coding domain for operation and
  2288. error code values (addressed by SCCP subsystem number in a connectionless
  2289. network service environment), each operation or error code value must be 
  2290. unique within the AE (see \(sc\ 4.5). 
  2291. .RT
  2292. .sp 1P
  2293. .LP
  2294. 4.4
  2295.     \fIHow to specify an ASE\fR 
  2296. .sp 9p
  2297. .RT
  2298. .PP
  2299. The definition of an ASE is part of the stage 3 of the service
  2300. description methodology, as defined by Recommendation\ I.220.
  2301. .PP
  2302. The ASE description should provide:
  2303. .RT
  2304. .LP
  2305.     \(em
  2306.     A general description of the ASE and its procedures.
  2307. .LP
  2308.     \(em
  2309.     The information flows between the entities which are
  2310. communicating to support the service, based on stage\ 2, with additions and
  2311. enhancements that are needed as part of the protocol design.
  2312. .LP
  2313.     \(em
  2314.      A detailed description of the ASE protocol. This includes the sequence 
  2315. in which operations may be invoked, and the reaction to abnormal 
  2316. situations. The definition should include how protocol version interwork.
  2317. Dialogue begin, continuation and end should be specified. This section 
  2318. should describe the interaction between the ASE and the TCAP component 
  2319. sub\(hylayer 
  2320. expressed in terms of the primitive interface.
  2321. .LP
  2322.     \(em
  2323.     SDL diagrams.
  2324. .PP
  2325. Recommendation X.229 (ROSE) defines an APPLICATION\(hySERVICE\(hyELEMENT 
  2326. macro which may be used to specify an ASE formally. It identifies which 
  2327. operations are contained in the AE and how they are invoked. The use of this
  2328. macro in Signalling System No.\ 7 is for further study.
  2329. .sp 2P
  2330. .LP
  2331. 4.5
  2332.     \fIHow to specify operations and errors\fR 
  2333. .sp 1P
  2334. .RT
  2335. .sp 1P
  2336. .LP
  2337. 4.5.1
  2338.     \fIInformation needed to specify operations and errors\fR 
  2339. .sp 9p
  2340. .RT
  2341. .PP
  2342. To specify an operation, the following items must be
  2343. defined:
  2344. .RT
  2345. .LP
  2346.     \(em
  2347.     The operation name.
  2348. .LP
  2349.     \(em
  2350.     The operation code. This may be local or global. See
  2351. \(sc\ 4.5.2.
  2352. .LP
  2353.     \(em
  2354.     The operation class. A value in the range 1 to 4 as defined   in \(sc\ 2.2.1.
  2355. .LP
  2356.     \(em
  2357.      The parameters accompanying the operation invocation (input parameters). 
  2358. Further essential information to supplement that provided in the parameters 
  2359. with the original invocation may be requested using linked 
  2360. operations.
  2361. .LP
  2362.     \(em
  2363.     The parameters that may be returned as the result of a
  2364. successful outcome (Return Result), whenever the operation reports success
  2365. (possitive output parameters). The way these parameters are actually passed 
  2366. (in a single component or several) is no part of the operation description. 
  2367. .LP
  2368.     \(em
  2369.     The error codes and associated parameters that may be
  2370. returned as the result of an unsuccessful outcome (Return Error) of the
  2371. operation execution, whenever this operation reports failure (negative 
  2372. output parameters). An error code must be present when reporting failure, 
  2373. and all the possible values be defined as part of the operation description. 
  2374. .LP
  2375.     \(em
  2376.     The allowed linked operations (see \(sc\ 2.2.2).
  2377. .LP
  2378.     \(em
  2379.     The timer value for completion of the operation.
  2380. .PP
  2381. The operation description consists of a Table indicating the eight items 
  2382. above, together with a short prose description of what the operation 
  2383. does. A formal definition using Annex\ A/Q.773 OPERATION and ERROR macros 
  2384. should also be included to unambiguously indicate which parameters are 
  2385. mandatory, 
  2386. which are optional with default values as applicable, and which individual,
  2387. sets or sequences of parameters are legal as input, positive output, and
  2388. negative output. The OPERATION and ERROR type (macro) definitions are exported 
  2389. from the TCAP definitions (Annex\ A/Q.773) and need to be imported into 
  2390. the ASE being defined in order to define operations and errors. 
  2391. .bp
  2392. .PP
  2393. The syntax of the OPERATION MACRO (reproduced from Annex\ A/Q.773) is as 
  2394. follows: 
  2395. .RT
  2396. .sp 1P
  2397. .LP
  2398. OPERATION MACRO ::=
  2399. .sp 9p
  2400. .RT
  2401. .LP
  2402. BEGIN
  2403. .LP
  2404. TYPE NOTATION ::=
  2405.     Parameter Result Errors Linked Operations
  2406. .LP
  2407. VALUE NOTATION ::=
  2408.     valu { ALUE CHOIC {
  2409. value(VALUE CHOICE
  2410. localValue INTEGER,
  2411. value(VALUE CHOICE
  2412. globalValue OBJECT IDENTIFIER\ } 
  2413. .sp 1P
  2414. .LP
  2415. Parameter ::=
  2416.     \*QPARAMETER\*U Named Type\ |  empty
  2417. .sp 9p
  2418. .RT
  2419. .LP
  2420. Result ::=
  2421.     \*QRESULT\*U ResultType\ |  empty
  2422. .LP
  2423. ResultType ::=
  2424.     NamedType\ |  empty
  2425. .LP
  2426. Errors ::=
  2427.     \*QERRORS\*U \* { *UErrorNames\* } *U\ |  empty
  2428. .LP
  2429. LinkedOperations ::=
  2430.     \*QLINKED\*U \* { *ULinkedOperationNames\* } *U\ |  empty
  2431. .LP
  2432. ErrorNames ::=
  2433.     ErrorList\ |  empty
  2434. .LP
  2435. ErrorList ::=
  2436.     Error\ |  ErrorList \*Q,\*U Error
  2437. .LP
  2438. Error ::=
  2439.      value (ERROR)\ \(em\(em\ \fIshall reference an error value\fR |  type\ 
  2440. \(em\(em\ \fIshall reference an error type if no error value\fR 
  2441. |  type\ 
  2442. \(em\(em\ \fIis specified\fR 
  2443. .sp 1P
  2444. .LP
  2445. LinkedOperationNames\ ::=
  2446.     OperationList\ |  empty
  2447. .sp 9p
  2448. .RT
  2449. .LP
  2450. OperationList ::=
  2451.     Operation\ |  OperationList \*Q,\*U Operation
  2452. .LP
  2453. Operation ::=
  2454.     value (OPERATION)\ \(em\(em\ \fIshall reference an operation value\fR 
  2455. |  type\ \(em\(em\ \fIshall reference an operation type if no error value\fR 
  2456. |  type\ 
  2457. \(em\(em\ \fIis specified\fR 
  2458. .sp 1P
  2459. .LP
  2460. NamedType ::=
  2461.     identifier type\ |  type
  2462. .sp 9p
  2463. .RT
  2464. .LP
  2465. END
  2466. .sp 1P
  2467. .LP
  2468. ERROR MACRO ::=
  2469. .sp 9p
  2470. .RT
  2471. .LP
  2472. BEGIN
  2473. .LP
  2474. TYPE NOTATION ::=
  2475.     Parameter
  2476. .LP
  2477. VALUE NOTATION ::=
  2478.     value (VALUE CHOIC {
  2479. valu { ALUE CHOICE
  2480. localValue INTEGER,
  2481. valu { ALUE CHOICE
  2482. globalValue OBJECT IDENTIFIER\ } 
  2483. .sp 1P
  2484. .LP
  2485. Parameter ::=
  2486.     \*QPARAMETER\*U NamedType\ |  empty
  2487. .sp 9p
  2488. .RT
  2489. .LP
  2490. NamedType ::=
  2491.     identifier type\ |  type
  2492. .LP
  2493. END
  2494. .PP
  2495. The use of local and global values is explained in \(sc\ 4.5.2.
  2496. .PP
  2497. As an example, the CUGCheck2 operation, which is used to check whether 
  2498. an incoming call is compatible with the CUG characteristics of the called 
  2499. party, is described here in both (abbreviated) formal notation, and in 
  2500. the form of a table. 
  2501. .RT
  2502. .sp 1P
  2503. .LP
  2504. 4.5.2
  2505.     \fIExample of operation description\fR 
  2506. .sp 9p
  2507. .RT
  2508. .PP
  2509. (\fINote\fR \ \(em\ Arbitrary section numbers are used in this
  2510. example.)
  2511. .bp
  2512. .RT
  2513. .sp 2P
  2514. .LP
  2515. 3.4.3.1
  2516.     \fIDescription of operations\fR 
  2517. .sp 1P
  2518. .RT
  2519. .sp 1P
  2520. .LP
  2521. 3.4.3.1.1
  2522.     \fICUG check 1\fR 
  2523. .sp 9p
  2524. .RT
  2525. .PP
  2526. This operation is used between the originating exchange of a call and a 
  2527. dedicated point for CUG validation check of the calling user. 
  2528. .RT
  2529. .sp 1P
  2530. .LP
  2531. 3.4.3.1.2
  2532.     \fICUG check 2\fR 
  2533. .sp 9p
  2534. .RT
  2535. .PP
  2536. This operation is used between the terminating exchange of a call and a 
  2537. dedicated point for CUG validation check of the called user. 
  2538. .RT
  2539. .sp 2P
  2540. .LP
  2541. 3.4.3.2
  2542.     \fIParameters of operations and outcomes\fR 
  2543. .sp 1P
  2544. .RT
  2545. .sp 1P
  2546. .LP
  2547. 3.4.3.2.1
  2548.     \fICUG Check 1\fR 
  2549. .sp 9p
  2550. .RT
  2551. .LP
  2552. .sp 3
  2553. .ce
  2554. \fBH.T. [T18.775]\fR 
  2555. .ps 9
  2556. .vs 11
  2557. .nr VS 11
  2558. .nr PS 9
  2559. .TS
  2560. center box;
  2561. cw(72p) | cw(72p) | cw(30p) | cw(54p) .
  2562. CUG Check 1    Timer = x sec    Class = 1    Code = 00000001
  2563. _
  2564. .T&
  2565. lw(144p) | cw(30p) | cw(54p) .
  2566. Parameters with Invoke    Opt/Man    Reference
  2567. _
  2568. .T&
  2569. lw(144p) | cw(30p) | cw(54p) .
  2570.  {
  2571. CallingUserIndex
  2572. CUGCallIndicator
  2573. CallingPartyNumber
  2574.  }    O M M    3.4.3.3.1 3.4.3.3.2 3.4.3.3.3
  2575. _
  2576. .T&
  2577. lw(144p) | cw(30p) | cw(54p) .
  2578. Parameters with Return Result        
  2579. _
  2580. .T&
  2581. lw(144p) | cw(30p) | cw(54p) .
  2582.  {
  2583. CUGInterlockCode
  2584. CUGCallIndicator
  2585.  }    O M    3.4.3.3.5 3.4.3.3.2
  2586. _
  2587. .T&
  2588. lw(144p) | cw(30p) | cw(54p) .
  2589. Linked Operations        
  2590. _
  2591. .T&
  2592. lw(144p) | cw(30p) | cw(54p) .
  2593. Not applicable        
  2594. _
  2595. .T&
  2596. lw(144p) | cw(30p) | cw(54p) .
  2597. Errors        
  2598. _
  2599. .T&
  2600. lw(144p) | cw(30p) | cw(54p) .
  2601. UnsuccessfulCheck        3.4.3.3.7
  2602. _
  2603. .TE
  2604. .nr PS 9
  2605. .RT
  2606. .ad r
  2607. \fBTableau du \(sc\ 3.4.3.2.1, [T18.775], p.\fR 
  2608. .sp 1P
  2609. .RT
  2610. .ad b
  2611. .RT
  2612. .LP
  2613. .sp 3
  2614. .LP
  2615. cUGCheck1\ \ \ OPERATION
  2616.     PARAMETER
  2617.     SEQUENC { | allingUserIndex OPTIONAL,
  2618. cUGCallIndicator,
  2619. SEQUENC { |
  2620. callingPartyNumber\ }
  2621.     RESULT
  2622.     SEQUENC { | UGInterlockCode OPTIONAL,
  2623. cUGCallIndicator\ }
  2624.     ERRORS
  2625.     SEQUENCE
  2626. { | nsuccessfulCheck\ }
  2627.     ::= 1
  2628. .bp
  2629. .sp 1P
  2630. .LP
  2631. 3.4.3.2.2
  2632.     \fICUG check 2\fR 
  2633. .sp 9p
  2634. .RT
  2635. .ce
  2636. \fBH.T. [T19.775]\fR 
  2637. .ps 9
  2638. .vs 11
  2639. .nr VS 11
  2640. .nr PS 9
  2641. .TS
  2642. center box;
  2643. cw(72p) | cw(72p) | cw(30p) | cw(54p) .
  2644. CUG Check 2    Timer = x sec    Class = 1    Code = 00000010
  2645. _
  2646. .T&
  2647. lw(144p) | cw(30p) | cw(54p) .
  2648. Parameters with Invoke    Opt/Man    Reference
  2649. _
  2650. .T&
  2651. lw(144p) | cw(30p) | cw(54p) .
  2652.  {
  2653. CUGInterlockCode
  2654. CUGCallIndicator
  2655. CalledPartyNumber
  2656.  }    M M M    3.4.3.3.5 3.4.3.3.2 3.4.3.3.4
  2657. _
  2658. .T&
  2659. lw(144p) | cw(30p) | cw(54p) .
  2660. Parameters with Return Result        
  2661. _
  2662. .T&
  2663. lw(144p) | cw(30p) | cw(54p) .
  2664.  {
  2665. CalledUserIndex
  2666. CUGCallIndicator
  2667.  }    O M    3.4.3.3.6 3.4.3.3.2
  2668. _
  2669. .T&
  2670. lw(144p) | cw(30p) | cw(54p) .
  2671. Linked Operations        
  2672. _
  2673. .T&
  2674. lw(144p) | cw(30p) | cw(54p) .
  2675. Not applicable        
  2676. _
  2677. .T&
  2678. lw(144p) | cw(30p) | cw(54p) .
  2679. Errors        
  2680. _
  2681. .T&
  2682. lw(144p) | cw(30p) | cw(54p) .
  2683. UnsuccessfulCheck        3.4.3.3.7
  2684. _
  2685. .TE
  2686. .nr PS 9
  2687. .RT
  2688. .ad r
  2689. \fBTableau du \(sc\ 3.4.3.2.2, [T19.775], p.\fR 
  2690. .sp 1P
  2691. .RT
  2692. .ad b
  2693. .RT
  2694. .LP
  2695. cUGCheck 2\ \ \ OPERATION
  2696.     PARAMETER
  2697.     SEQUENC { | UGInterlockCode, cUGCallIndicator,
  2698. SEQUENC { |
  2699. calledPartyNumber\ }
  2700.     RESULT
  2701.     SEQUENC { | alledUserIndex OPTIONAL, cUGCallIndicator\ }
  2702.     ERRORS
  2703.     SEQUENCE
  2704. { | nsuccessfulCheck\ }
  2705.     ::= 2
  2706. .sp 1P
  2707. .LP
  2708. 3.4.3.3
  2709.     \fIParameter coding\fR 
  2710. .sp 9p
  2711. .RT
  2712. .LP
  2713. 3.4.3.3.1\ \ The CallingUserIndex is the local index at the calling user to
  2714. identify a particular CUG he belongs to.
  2715. .ce
  2716. \fBH.T. [T20.775]\fR 
  2717. .ps 9
  2718. .vs 11
  2719. .nr VS 11
  2720. .nr PS 9
  2721. .TS
  2722. center box;
  2723. cw(144p) | cw(72p) .
  2724. CallingUserIndex    Code = 10000001
  2725. _
  2726. .T&
  2727. lw(72p) | lw(144p) .
  2728. Contents    Meaning
  2729. _
  2730. .T&
  2731. lw(72p) | lw(144p) .
  2732. IA5 Character String     {
  2733. One IA5 character represents one digit of the CUG index
  2734. value
  2735.  }
  2736. _
  2737. .TE
  2738. .nr PS 9
  2739. .RT
  2740. .ad r
  2741. \fBTableau du \(sc\ 3.4.3.3, [T20.775], p.\fR 
  2742. .sp 1P
  2743. .RT
  2744. .ad b
  2745. .RT
  2746. .LP
  2747. callingUserIndex ::=
  2748.     [1]\ IMPLICIT LocalIndex
  2749.     LocalIndex ::=
  2750.     IA5\ STRING
  2751.     \(em\(em\ \fIThe maximum number of digits is four.\fR .bp
  2752. .sp 1P
  2753. .LP
  2754. 3.4.3.3.2\ \ The CUGCallIndicator indicates whether the call is requested 
  2755. or designated as a CUG call and whether outgoing access is requested or 
  2756. allowed.
  2757. .sp 9p
  2758. .RT
  2759. .ce
  2760. \fBH.T. [T21.775]\fR 
  2761. .ps 9
  2762. .vs 11
  2763. .nr VS 11
  2764. .nr PS 9
  2765. .TS
  2766. center box;
  2767. cw(144p) | cw(72p) .
  2768. CUGCallIndicator    Code = 10000010
  2769. _
  2770. .T&
  2771. cw(72p) | lw(144p) .
  2772. Contents    Meaning
  2773. _
  2774. .T&
  2775. cw(72p) | lw(144p) .
  2776.  {
  2777. 00000000
  2778. 00000001
  2779. 00000010
  2780. 00000011
  2781.  }     {
  2782. Non\(hyCUG call
  2783. Non\(hyCUG call
  2784. CUG call with outgoing access
  2785. CUG call without outgoing access
  2786.  }
  2787. _
  2788. .TE
  2789. .nr PS 9
  2790. .RT
  2791. .ad r
  2792. \fBTableau du \(sc\ 3.4.3.3.2, [T21.775], p.\fR 
  2793. .sp 1P
  2794. .RT
  2795. .ad b
  2796. .RT
  2797. .LP
  2798. cUGCallIndicator ::=
  2799.     [2]\ IMPLICIT CallIndicator
  2800. .LP
  2801. CallIndicator ::=
  2802.     INTEGE {
  2803.     nonCUGCall (0),
  2804. nonCUGCall (1),
  2805. outgoingAccessAllowedCUGCall (2),
  2806. outgoingAccessNotAllowedCUGCall (3)\ }
  2807. .sp 1P
  2808. .LP
  2809. 3.4.3.3.3\ \ The CallingPartyNumber is the network (e.g.\ E.164) number 
  2810. of the calling party. It is expressed in the same manner as the ISUP Calling 
  2811. party 
  2812. number in \(sc\ 3.7 of Recommendation\ Q.763. The code of this parameter is
  2813. \*Q10000011\*U.
  2814. .sp 9p
  2815. .RT
  2816. .ce
  2817. \fBH.T. [T22.775]\fR 
  2818. .ps 9
  2819. .vs 11
  2820. .nr VS 11
  2821. .nr PS 9
  2822. .TS
  2823. center box;
  2824. cw(144p) | cw(72p) .
  2825. CallingPartyNumber    Code = 10000011
  2826. _
  2827. .T&
  2828. lw(72p) | lw(144p) .
  2829. Contents    Meaning
  2830. _
  2831. .T&
  2832. lw(216p) .
  2833.  {
  2834. \(em | (em encoded per \(sc 3.7/Q.763
  2835.  }
  2836. _
  2837. .TE
  2838. .nr PS 9
  2839. .RT
  2840. .ad r
  2841. \fBTableau du \(sc\ 3.4.3.3.3, [T22.775], p.\fR 
  2842. .sp 1P
  2843. .RT
  2844. .ad b
  2845. .RT
  2846. .LP
  2847. callingPartyNumber ::=\ [3]\ IMPLICIT OCTET STRING
  2848.     \(em\(em\ \fIcontents encoded per \(sc\ 3.7/Q.793\fR 
  2849. .sp 1P
  2850. .LP
  2851. 3.4.3.3.4\ \ The CalledPartyNumber is the network (e.g.\ E.164) number 
  2852. of the called party. It is expressed in the same manner as the ISUP Called 
  2853. party 
  2854. number in \(sc\ 3.6 of Recommendation\ Q.763. The code of this parameter is
  2855. \*Q10000100\*U.
  2856. .sp 9p
  2857. .RT
  2858. .ce
  2859. \fBH.T. [T23.775]\fR 
  2860. .ps 9
  2861. .vs 11
  2862. .nr VS 11
  2863. .nr PS 9
  2864. .TS
  2865. center box;
  2866. cw(144p) | cw(72p) .
  2867. CalledPartyNumber    Code = 10000100
  2868. _
  2869. .T&
  2870. lw(72p) | lw(144p) .
  2871. Contents    Meaning
  2872. _
  2873. .T&
  2874. lw(216p) .
  2875.  {
  2876. \(em | (em encoded per \(sc 3.6/Q.763
  2877.  }
  2878. _
  2879. .TE
  2880. .nr PS 9
  2881. .RT
  2882. .ad r
  2883. \fBTableau du \(sc\ 3.4.3.3.4, [T23.775], p.\fR 
  2884. .sp 1P
  2885. .RT
  2886. .ad b
  2887. .RT
  2888. .LP
  2889. calledPartyNumber ::=\ [4]\ IMPLICIT OCTET STRING
  2890.     \(em\(em\ \fIcontents encoded per \(sc\ 3.6/Q.793\fR .bp
  2891. .sp 1P
  2892. .LP
  2893. 3.4.3.3.5\ \ The CUGInterlockCode is the code to uniquely identify a CUG
  2894. inside the network. It is expressed in the same manner as the ISUP CUG
  2895. interlock code in \(sc\ 3.13 of Recommendation\ Q.763. The code of this 
  2896. parameter is \*Q10000101\*U. 
  2897. .sp 9p
  2898. .RT
  2899. .LP
  2900. .sp 1
  2901. .ce
  2902. \fBH.T. [T24.775]\fR 
  2903. .ps 9
  2904. .vs 11
  2905. .nr VS 11
  2906. .nr PS 9
  2907. .TS
  2908. center box;
  2909. cw(144p) | cw(72p) .
  2910. CUGInterlockCode    Code = 10000101
  2911. _
  2912. .T&
  2913. lw(72p) | lw(144p) .
  2914. Contents    Meaning
  2915. _
  2916. .T&
  2917. lw(216p) .
  2918.  {
  2919. \(em | (em encoded per \(sc 3.13/Q.763
  2920.  }
  2921. _
  2922. .TE
  2923. .nr PS 9
  2924. .RT
  2925. .ad r
  2926. \fBTableau du \(sc\ 3.4.3.3.5, [T24.775], p.\fR 
  2927. .sp 1P
  2928. .RT
  2929. .ad b
  2930. .RT
  2931. .LP
  2932. .sp 1
  2933. .LP
  2934. CUGInterlockCode ::=\ [5]\ IMPLICIT OCTET STRING
  2935.     \(em\(em\ \fIcontents encoded per \(sc\ 3.13/Q.793\fR 
  2936. .sp 1P
  2937. .LP
  2938. 3.4.3.3.6\ \ The CalledUserIndex is the local index at the called user to
  2939. identify a particular CUG he belongs to. Refer to \(sc\ 3.4.3.3.1. The 
  2940. code of this parameter is \*Q10000110\*U. 
  2941. .sp 9p
  2942. .RT
  2943. .LP
  2944. .sp 1
  2945. .ce
  2946. \fBH.T. [T25.775]\fR 
  2947. .ps 9
  2948. .vs 11
  2949. .nr VS 11
  2950. .nr PS 9
  2951. .TS
  2952. center box;
  2953. cw(144p) | cw(72p) .
  2954. CalledUserIndex    Code = 10000110
  2955. _
  2956. .T&
  2957. lw(72p) | lw(144p) .
  2958. Contents    Meaning
  2959. _
  2960. .T&
  2961. lw(72p) | lw(144p) .
  2962. IA5 Character String     {
  2963. One IA5 character represents one digit of the CUG Index
  2964. value
  2965.  }
  2966. _
  2967. .TE
  2968. .nr PS 9
  2969. .RT
  2970. .ad r
  2971. \fBTableau du \(sc\ 3.4.3.3.6, [T25.775], p.\fR 
  2972. .sp 1P
  2973. .RT
  2974. .ad b
  2975. .RT
  2976. .LP
  2977. .sp 1
  2978. .LP
  2979. CalledUserIndex ::=\ [6]\ IMPLICIT LocalIndex
  2980. .sp 1P
  2981. .LP
  2982. 3.4.3.3.7
  2983.     \fIErrors\fR 
  2984. .sp 9p
  2985. .RT
  2986. .LP
  2987. .sp 1
  2988. .ce
  2989. \fBH.T. [T26.775]\fR 
  2990. .ps 9
  2991. .vs 11
  2992. .nr VS 11
  2993. .nr PS 9
  2994. .TS
  2995. center box;
  2996. cw(144p) | cw(72p) .
  2997. UnsuccessfulCheck    Code = 00000001
  2998. _
  2999. .T&
  3000. lw(144p) | lw(72p) .
  3001. Parameters    
  3002. _
  3003. .T&
  3004. lw(144p) | lw(72p) .
  3005. Cause    3.4.3.3.8
  3006. _
  3007. .TE
  3008. .nr PS 9
  3009. .RT
  3010. .ad r
  3011. \fBTableau du \(sc\ 3.4.3.3.7, [T26.775], p.\fR 
  3012. .sp 1P
  3013. .RT
  3014. .ad b
  3015. .RT
  3016. .LP
  3017. .sp 1
  3018. .LP
  3019. unsuccessfulCheck
  3020.     ERROR
  3021.     PARAMETER
  3022.     { | ause\ }
  3023.     ::= 1
  3024. .bp
  3025. .sp 1P
  3026. .LP
  3027. 3.4.3.3.8\ \ The Cause indicates the reason why the CUG check is
  3028. unsuccessful.
  3029. .sp 9p
  3030. .RT
  3031. .ce
  3032. \fBH.T. [T27.775]\fR 
  3033. .ps 9
  3034. .vs 11
  3035. .nr VS 11
  3036. .nr PS 9
  3037. .TS
  3038. center box;
  3039. cw(144p) | cw(84p) .
  3040. Cause    Code = 10000111
  3041. _
  3042. .T&
  3043. lw(84p) | lw(144p) .
  3044. Contents binary (decimal)    Meaning
  3045. _
  3046. .T&
  3047. lw(84p) | lw(144p) .
  3048. 00110010 (50)     {
  3049. Requested facility not subscribed
  3050.  }
  3051. .T&
  3052. lw(84p) | lw(144p) .
  3053. 00110101 (53)     {
  3054. Outgoing calls barred within CUG
  3055.  }
  3056. .T&
  3057. lw(84p) | lw(144p) .
  3058. 00110111 (55)     {
  3059. Incoming calls barred within CUG
  3060.  }
  3061. .T&
  3062. lw(84p) | lw(144p) .
  3063. 00111110 (62)     {
  3064. InconsistencyInDesignatedOutgoingAccessInformationAndSubscriberClass
  3065.  }
  3066. .T&
  3067. lw(84p) | lw(144p) .
  3068. 01010110 (90)    Non\(hyexistent CUG
  3069. .T&
  3070. lw(84p) | lw(144p) .
  3071. 01010111 (87)    Called user not member of CUG
  3072. .T&
  3073. lw(84p) | lw(144p) .
  3074. 01011000 (88)    Incompatible destination
  3075. .T&
  3076. lw(84p) | lw(144p) .
  3077. 10000000 (110)    Inconsistency in data
  3078. _
  3079. .TE
  3080. .nr PS 9
  3081. .RT
  3082. .ad r
  3083. \fBTableau du \(sc\ 3.4.3.3.8, [T27.775], p.\fR 
  3084. .sp 1P
  3085. .RT
  3086. .ad b
  3087. .RT
  3088. .LP
  3089. cause ::=
  3090.     [7]\ IMPLICIT CauseCode
  3091. .LP
  3092. CauseCode ::=
  3093.     INTEGE {
  3094.     requestedFacilityNotSubscribed (50),
  3095. outgoingCallsBarredWithinCUG(53),
  3096. incomingCallsBarredWithinCUG(55),
  3097. inconsistencyInDesignatedOutgoingAccessInformationAndsubscriberClass(62),
  3098. nonExistentCUG(90),
  3099. calledUserNotMemberOfCUG(87),
  3100. incompatibleDestination(88),
  3101. inconsistencyInData(110)\ }
  3102. .sp 1P
  3103. .LP
  3104. 4.5.3
  3105.     \fIAllocation and management of operation and error codes\fR 
  3106. .sp 9p
  3107. .RT
  3108. .PP
  3109. The simple approach is to provide one module containing the
  3110. definition of the operations and errors it uses as a self\(hycontained local
  3111. domain.
  3112. .PP
  3113. Before defining a new operation, the application designer should check 
  3114. all modules to see whether a similar operation already exists. To avoid 
  3115. redefining the operation in a number of modules, methods are required which
  3116. allow a module to import the definition of the operations it uses from other
  3117. modules. If the opertion does not exist, the designer should specify it
  3118. locally.
  3119. .PP
  3120. \fIExample:\fR  | Operation code 00000010 has one meaning for ASE1, and
  3121. probably a completely different meaning for ASE2; two domains are
  3122. involved.
  3123. .PP
  3124. Note that many domains may be used by one ASE; however, for
  3125. simplicity, it is assumed in the following that an ASE uses only one
  3126. domain.
  3127. .PP
  3128. In addition to its local operation, an ASE may need to make use of
  3129. operations which are already defined in another domain. There are two methods 
  3130. for doing so: 
  3131. .RT
  3132. .LP
  3133.     \(em
  3134.     import operation and error types from other modules;
  3135. .LP
  3136.     \(em
  3137.     import operation and error values from other
  3138. modules.
  3139. .sp 1P
  3140. .LP
  3141. 4.5.3.1
  3142.     \fIImport of types\fR 
  3143. .sp 9p
  3144. .RT
  3145. .PP
  3146. The definition of an operation type includes the notational aspects (see 
  3147. the OPERATION MACRO above), without allocating the code values. 
  3148. .PP
  3149. It may be desirable to import the type of an already existing
  3150. operation, however the importing module may want to allocate its own local
  3151. codepoint to the imported operation or error. The imported operation or 
  3152. error becomes a member of the local domain of that module. 
  3153. .bp
  3154. .PP
  3155. If two different modules import a given operation by type, its
  3156. codepoint in each of the importing local domains is generally
  3157. different.
  3158. .PP
  3159. Importing by type allows a common description of operations.
  3160. A module importing by types only uses a single domain (its local
  3161. domain), as represented in Figure\ 4/Q.775.
  3162. .RT
  3163. .LP
  3164. .rs
  3165. .sp 11P
  3166. .ad r
  3167. \fBFigure 4/Q.775, (N), p.\fR 
  3168. .sp 1P
  3169. .RT
  3170. .ad b
  3171. .RT
  3172. .sp 1P
  3173. .LP
  3174. 4.5.3.2
  3175.     \fIImport of values\fR 
  3176. .sp 9p
  3177. .RT
  3178. .PP
  3179. When operation values are imported, the type and the coding are the same 
  3180. in the exporting and importing ASEs. 
  3181. .PP
  3182. A module importing operations or errors by value makes use
  3183. of:
  3184. .RT
  3185. .LP
  3186.     \(em
  3187.     a local domain for its local operations and
  3188. .LP
  3189.     \(em
  3190.     the exporting domains for its imported operations.
  3191. .PP
  3192. A global value is required in the second case to avoid ambiguity between 
  3193. local codepoints and imported codepoints, as represented in 
  3194. Figure\ 5/Q.77.
  3195. .LP
  3196. .rs
  3197. .sp 12P
  3198. .ad r
  3199. \fBFigure 5/Q.775, (N), p.\fR 
  3200. .sp 1P
  3201. .RT
  3202. .ad b
  3203. .RT
  3204. .sp 1P
  3205. .LP
  3206. 4.6
  3207.     \fIApplying the concept to service protocols\fR 
  3208. .sp 9p
  3209. .RT
  3210. .PP
  3211. The first step, before assigning operation codes, is to examine the service 
  3212. ASEs (each an integrated set of actions) and assign them to AEs. The 
  3213. extremes are, on one hand, that all service ASEs are assigned to one AE 
  3214. and, on the other hand, that each AE is composed of only one service ASE. 
  3215. The likely 
  3216. case is several groupings of service ASEs.
  3217. .PP
  3218. Each AE should be identified by a SSN, but not necessarily a fixed SSN 
  3219. specified in Recommendation\ Q.713. Within an AE, an operation code assignment 
  3220. scheme is used, so that no two operations can have the same operation 
  3221. code.
  3222. .RT
  3223. .LP
  3224. .bp
  3225. .LP
  3226. \fBMONTAGE:\ \fR PAGE 134 = PAGE BLANCHE
  3227. .sp 1P
  3228. .RT
  3229. .LP
  3230. .bp
  3231. .sp 1P
  3232. .ce 1000
  3233. \v'3P'
  3234. SECTION\ 2
  3235. .ce 0
  3236. .sp 1P
  3237. .ce 1000
  3238. \fBTEST\ SPECIFICATION\fR 
  3239. .ce 0
  3240. .sp 1P
  3241. .sp 2P
  3242. .LP
  3243. \fBRecommendation\ Q.780\fR 
  3244. .RT
  3245. .sp 2P
  3246. .ce 1000
  3247. \fBSIGNALLING\ SYSTEM\ NO.\ 7\ TEST\ SPECIFICATION\fR 
  3248. .EF '%    Fascicle\ VI.9\ \(em\ Rec.\ Q.780''
  3249. .OF '''Fascicle\ VI.9\ \(em\ Rec.\ Q.780    %'
  3250. .ce 0
  3251. .sp 1P
  3252. .ce 1000
  3253. \fBGENERAL\ DESCRIPTION\fR 
  3254. .ce 0
  3255. .sp 1P
  3256. .LP
  3257. \fB1\fR     \fBGeneral\fR 
  3258. .sp 1P
  3259. .RT
  3260. .PP
  3261. This Recommendation is an introductory Recommendation to the test specifications 
  3262. of Signalling System\ No.\ 7. The test specifications are 
  3263. contained in Recommendations\ Q.781\(hyQ.783. This Recommendation defines 
  3264. the scope and purpose of the test specification and identifies guidelines 
  3265. that are either specific to the particular protocol under test, or are 
  3266. more general. In 
  3267. addition it identifies functional requirements imposed by the test
  3268. specification.
  3269. .RT
  3270. .sp 2P
  3271. .LP
  3272. \fB2\fR     \fBGeneal principles of test specifications\fR 
  3273. .sp 1P
  3274. .RT
  3275. .PP
  3276. The test specification aims at testing protocol conformance in a
  3277. given implementation. This is independent of a given implementation and does
  3278. not generally imply any modification of the signalling point under test.
  3279. However, it is recognized that certain tests require capabilities of the 
  3280. system that are not explicitly defined in the relevant Recommendation, 
  3281. and these 
  3282. capabilities may not be present in all implementations. As a consequence,
  3283. certain tests may not be possible in all implementations.
  3284. .RT
  3285. .sp 2P
  3286. .LP
  3287. \fB3\fR     \fBScope of the test specification\fR 
  3288. .sp 1P
  3289. .RT
  3290. .PP
  3291. The test specification is intended to cover all aspects of
  3292. Signalling System\ No.\ 7. However the initial Recommendations cover the 
  3293. message transfer part\ Q.701\(hyQ.707, and the telephone user part\ Q.721\(hyQ.724. 
  3294. The test 
  3295. specification is not a definition of the protocol, this is contained in
  3296. Recommendations\ Q.701\(hyQ.707 and Q.721\(hyQ.724 as appropriate.
  3297. .RT
  3298. .sp 2P
  3299. .LP
  3300. \fB4\fR     \fBField of application\fR 
  3301. .sp 1P
  3302. .RT
  3303. .PP
  3304. The test specification applies in the international network, and if appropriate 
  3305. in the national network. In the international network, the actual tests 
  3306. to be performed will be the subject of appropriate bilateral agreements 
  3307. beween the two or more Administrations/RPOAs concerned. 
  3308. .RT
  3309. .sp 2P
  3310. .LP
  3311. \fB5\fR     \fBMethod of application\fR 
  3312. .sp 1P
  3313. .RT
  3314. .PP
  3315. The test specification fulfils the requirements for both validation testing 
  3316. and compatibility testing. See \(sc\(sc\ 5.1 and 5.2 for an explanation 
  3317. of 
  3318. these terms.
  3319. .PP
  3320. All tests in the test specification are validation tests (VAT), and in 
  3321. addition those marked with an asterisk are also compatibility tests 
  3322. (CPT).
  3323. .bp
  3324. .RT
  3325. .sp 1P
  3326. .LP
  3327. 5.1
  3328.     \fIValidation testing\fR 
  3329. .sp 9p
  3330. .RT
  3331. .PP
  3332. The function of validation testing is to check that a given
  3333. implementation conforms to the relevant CCITT Recommendations of the Signalling 
  3334. System. These validation tests could apply both in the national and 
  3335. international networks. The validation test is a pre\(hyrequisite of compatibility 
  3336. testing (see \(sc\ 5.2) and is performed under the responsibility of each 
  3337. Administration/RPOA. These tests will generally be performed without the
  3338. cooperation of another Administration/RPOA, although this is not precluded
  3339. should this arrangement prove convenient. Validation testing will be performed 
  3340. on a signalling point that is not in service. 
  3341. .PP
  3342. The validation test is performed on one signalling point.
  3343. .PP
  3344. It is suggested that the validation test, or subset, is repeated when the 
  3345. implementation is upgraded or modified in any functional way. 
  3346. .PP
  3347. Validation testing may require the use of a simulator to check the
  3348. operation of the signalling point under test. The specification of this
  3349. simulator is not explicitly covered by these Recommendations although the
  3350. general requirements are implicit in the test specification.
  3351. .PP
  3352. In validation testing, the signalling point under test is called
  3353. SP\*QA\*U.
  3354. .RT
  3355. .sp 1P
  3356. .LP
  3357. 5.2
  3358.     \fICompatibility testing\fR 
  3359. .sp 9p
  3360. .RT
  3361. .PP
  3362. The objective of compatibility testing is to check for the correct interworking 
  3363. of two implementations. To perform compatibility testing the two nodes 
  3364. involved are interconnected. The specification is written for the 
  3365. interconnection of two given implementations for the first time. For subsequent 
  3366. interconnections of the same two implementations a subset of tests may 
  3367. prove 
  3368. sufficient. These tests will not only be performed on a new signalling 
  3369. point, but also on a signalling point already in service. 
  3370. .PP
  3371. Each Recommendation identifies a list of tests that may be suitable
  3372. for compatibility testing, but the actual tests to be performed will be
  3373. bilaterally agreed between the Administrations/RPOAs concerned.
  3374. .PP
  3375. Certain of the tests identified in the test list as compatibility test 
  3376. may disturb the operation of the exchange, whereas others may not. Any 
  3377. tests 
  3378. which may cause disturbance to the exchange should be carefully selected to
  3379. meet the operational criteria of the two Administrations/RPOAs.
  3380. .PP
  3381. The satisfactory completion of compatibility testing should be
  3382. bilaterally agreed.
  3383. .PP
  3384. When a change to the signalling network is made, tests selected from those 
  3385. identified as compatibility tests may be appropriate. In general the 
  3386. tests performed under these circumstances will be the minimum number to 
  3387. ensure that compatibility between points in the network is still maintained. 
  3388. .PP
  3389. In compatibility testing, each signalling point may in turn consider itself 
  3390. to be SP\*QA\*U, i.e.\ tests are performed on both signalling points 
  3391. involved.
  3392. .RT
  3393. .sp 1P
  3394. .LP
  3395. 5.3
  3396.     \fITest configuration\fR 
  3397. .sp 9p
  3398. .RT
  3399. .PP
  3400. For both validation and compatibility testing the point under test is connected 
  3401. to the test environment and becomes part of the \*Qtest 
  3402. configuration\*U. The test configuration satisfies all of the following
  3403. three criteria:
  3404. .RT
  3405. .LP
  3406.     \(em
  3407.     The point under test will be connected by one or more
  3408. signalling linksets (real or simulated), which may or may not be
  3409. interconnected.
  3410. .LP
  3411.     \(em
  3412.      The capability of generation and reception of test traffic, where applicable. 
  3413. .LP
  3414.     \(em
  3415.     The ability to perform the described test, notably the
  3416. facility to store and analyze messages to the appropriate degree.
  3417. .sp 2P
  3418. .LP
  3419. \fB6\fR     \fBFunctional requirements imposed by the test specification\fR 
  3420. .sp 1P
  3421. .RT
  3422. .PP
  3423. The functional description that follows is intended to identify the functional 
  3424. requirements imposed by the test specification. It does not imply 
  3425. any physical partitioning of equipment in real systems. See also
  3426. Recommendation\ Q.701, \(sc\ 2.2.1.
  3427. .RT
  3428. .sp 1P
  3429. .LP
  3430. 6.1
  3431.     \fILevel 1\fR 
  3432. .sp 9p
  3433. .RT
  3434. .PP
  3435. The test specification assumes the availability of a suitable
  3436. signalling data link with the parameters identified in the relevant
  3437. Q\ Recommendations, e.g.\ Q.702 (referring to Recommendation\ G.821).
  3438. .PP
  3439. In validation testing the signalling data link may be a
  3440. pseudo\(hysignalling data link, in which case it should preferably have
  3441. similar/identical
  3442. characteristics to the signalling data links likely to be encountered in
  3443. service. Simulation of deterioration of the transmission link may not be
  3444. necessary if the emulator includes the capability to simulate abnormal
  3445. conditions on the signalling data link.
  3446. .PP
  3447. In compatibility testing the signalling data link is the actual
  3448. signalling data link that will be used in service.
  3449. .bp
  3450. .RT
  3451. .sp 1P
  3452. .LP
  3453. 6.2
  3454.     \fILevel 2\fR 
  3455. .sp 9p
  3456. .RT
  3457. .PP
  3458. The level 2 test environment consists of four items (see
  3459. Figure\ 1/Q.780):
  3460. .RT
  3461. .LP
  3462.     \(em
  3463.     the level 3 simulator;
  3464. .LP
  3465.     \(em
  3466.     the test simulator;
  3467. .LP
  3468.     \(em
  3469.     the signalling link monitor (see \(sc 7);
  3470. .LP
  3471.     \(em
  3472.     the signalling data link.
  3473. .sp 1P
  3474. .LP
  3475. 6.2.1
  3476.     \fILevel 3 simulator\fR 
  3477. .sp 9p
  3478. .RT
  3479. .PP
  3480. During the level 2 tests it is necessary to inject signalling
  3481. messages and indications to and from the level\ 2 under test. It is desirable
  3482. that the level\ 3 function used is the actual level\ 3 of the MTP with some
  3483. additional functions for test purposes.
  3484. .RT
  3485. .sp 1P
  3486. .LP
  3487. 6.2.2
  3488.     \fITest simulator\fR 
  3489. .sp 9p
  3490. .RT
  3491. .PP
  3492. During level 2 testing it is necessary to inject some abnormal
  3493. signal units (as well as normal signal units) to fully test the level\ 
  3494. 2 under test, the test simulator should have this function. In addition 
  3495. the simulator should have the capability to receive and check signal units 
  3496. from the level\ 2 under test. The generation of certain abnormal sequences 
  3497. of signal units should also be a capability of the test simulator. 
  3498. .RT
  3499. .sp 1P
  3500. .LP
  3501. 6.3
  3502.     \fILevel 3\fR 
  3503. .sp 9p
  3504. .RT
  3505. .PP
  3506. The level 3 test specification assumes that the level 2 has already been 
  3507. tested satisfactorily. However, certain tests will in addition explicitly 
  3508. test the level\ 2/3 interface. 
  3509. .PP
  3510. The level 3 test environment consists of 3 items (see
  3511. Figure\ 2/Q.780):
  3512. .RT
  3513. .LP
  3514.     \(em
  3515.     the simulator of upper levels;
  3516. .LP
  3517.     \(em
  3518.     simulated network including test simulator and signalling
  3519. data links;
  3520. .LP
  3521.     \(em
  3522.     the signalling link monitor(s) (see \(sc 7).
  3523. .sp 1P
  3524. .LP
  3525. 6.3.1
  3526.     \fISimulator of upper levels\fR 
  3527. .sp 9p
  3528. .RT
  3529. .PP
  3530. During level 3 testing it is necessary to inject signalling
  3531. messages into level\ 3 for testing, e.g.\ message loss during changeover. 
  3532. It is desirable that the simulator used should be as close as possible 
  3533. to the actual upper level to be used. In addition an MML interface is assumed. 
  3534. The level\ 3 
  3535. under test must use an already tested level\ 2.
  3536. .RT
  3537. .sp 1P
  3538. .LP
  3539. 6.3.2
  3540.     \fISimulated network including test simulator\fR 
  3541. .sp 9p
  3542. .RT
  3543. .PP
  3544. During level 3 testing it is necessary to inject some abnormal
  3545. messages (as well as normal messages) to check the level\ 3 under test, the
  3546. simulated network including test simulator should have this function. In
  3547. addition the test simulator should have the capabilities to receive and 
  3548. check messages from the level\ 3 under test. The generation of certain 
  3549. abnormal 
  3550. sequences of messages should also be a capability of the test simulator. The
  3551. test simulator must include an already tested level\ 2.
  3552. .RT
  3553. .sp 1P
  3554. .LP
  3555. 6.4
  3556.     \fITUP\fR 
  3557. .sp 9p
  3558. .RT
  3559. .PP
  3560. The TUP test specification assumes a tested MTP for compatibility tests 
  3561. but no assumption is made about message transfer between the TUP under 
  3562. test and the TUP tester for validation tests.
  3563. .PP
  3564. The TUP test environment consists of three items (see
  3565. Figure\ 3/Q.780):
  3566. .RT
  3567. .LP
  3568.     \(em
  3569.     the TUP tester;
  3570. .LP
  3571.     \(em
  3572.     a stable signalling relation and telephone circuits;
  3573. .LP
  3574.     \(em
  3575.     a monitor of TUP messages and telephone circuits.
  3576. .sp 1P
  3577. .LP
  3578. 6.4.1
  3579.     \fITUP tester\fR 
  3580. .sp 9p
  3581. .RT
  3582. .PP
  3583. The TUP tester is required to simulate TUP protocol operations and some 
  3584. exchange call control operations. 
  3585. .bp
  3586. .RT
  3587. .sp 1P
  3588. .LP
  3589. 6.4.2
  3590.     \fIMonitor\fR 
  3591. .sp 9p
  3592. .RT
  3593. .PP
  3594. The monitor is required to monitor and record TUP message sequences and 
  3595. to monitor the result of call control operations on the controlled 
  3596. telephone circuits. This includes checking that tones are correctly received
  3597. and that speech/information transfer is possible.
  3598. .RT
  3599. .sp 2P
  3600. .LP
  3601. \fB7\fR     \fBSignalling link monitor(s)\fR 
  3602. .sp 1P
  3603. .RT
  3604. .PP
  3605. The test specification assumes the availability of a signalling
  3606. link monitor and a suitable access point for connection of the monitor as
  3607. specified in Recommendation\ Q.702, \(sc\ 4.
  3608. .PP
  3609. The test specification does not attempt to specify what a signalling link 
  3610. monitor should be, but instead the functional requirements are identified 
  3611. in general terms. A signalling link monitor will be used for decoding of 
  3612. signal unit sequences during testing and to give the operator confidence 
  3613. that the 
  3614. signalling protocol has been correctly observed.
  3615. .PP
  3616. The requirements imposed on a signalling link monitor will be
  3617. different for the two types of testing. For validation testing detailed
  3618. decoding down to a field level will be required, but for compatibility 
  3619. testing decoding down to a message level may be adequate. 
  3620. .PP
  3621. In addition it should be noted that compatibility testing will be a
  3622. function performed numerous times on a signalling point, whereas validation
  3623. testing will be performed once only, except under certain circumstances of
  3624. upgrading of the signalling point.
  3625. .PP
  3626. \fINote\fR \ \(em\ It should be oserved that implementations may include a
  3627. signalling link monitor as an intrinsic part of the signalling point, however, 
  3628. for validation testing this cannot necessarily be relied upon. In addition, 
  3629. the test specification does not attempt to perform the function of testing 
  3630. the 
  3631. accuracy of any signalling link monitor implemented in the signalling point,
  3632. however, certain conclusions will inevitably be made from the performance of
  3633. validation testing.
  3634. .RT
  3635. .LP
  3636. .rs
  3637. .sp 20P
  3638. .ad r
  3639. \fBFigure 1/Q.780, (N), p.\fR 
  3640. .sp 1P
  3641. .RT
  3642. .ad b
  3643. .RT
  3644. .LP
  3645. .bp
  3646. .LP
  3647. .rs
  3648. .sp 27P
  3649. .ad r
  3650. \fBFigure 2/Q.780, (N), p.\fR 
  3651. .sp 1P
  3652. .RT
  3653. .ad b
  3654. .RT
  3655. .LP
  3656. .rs
  3657. .sp 20P
  3658. .ad r
  3659. \fBFigure 3/Q.780, (N), p.\fR 
  3660. .sp 1P
  3661. .RT
  3662. .ad b
  3663. .RT
  3664. .LP
  3665. .bp
  3666.